这样的小程序登录和授权流程是否可行?

第一次开发小程序,由于开发的时候没注意到微信取消了wx.getUserInfo的弹窗提示,导致现在项目中用户授权(用户头像、昵称等信息,非登录)的逻辑需要改动,我看到目前主流的做法是特意新增一个授权页,使用<button open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button>进行授权,但是这样的体验很不好,需要跳转到这个授权页面然后再弹窗再授权,项目中不希望新增这个授权页,而是当需要授权的时候直接弹窗提示用户授权,所以我想通过以下逻辑实现,发出来主要是想问问大家这样做的话,审核能不能通过?

我的大概想法是这样的:

在app.js的onLaunch中首先wx.login获得openid,后台根据openid查询是否授权过,同时返回是否授权过的flag(用于后续wxml中判断)和token等信息,那么比如在wxml中有一个需要根据授权以否,操作不同的button,大概如下:

<button wx:if="{{flag}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">购买</button>
<button wx:else bindtap="buy">购买</button >

就是根据flag显示不同的按钮,这样的话,可以实现如果未授权就可以使用open-type="getUserInfo"弹窗授权,无需新增授权页,当用户同意授权后在后台更新对应openid的头像、昵称等信息和前台的data信息,比如更新flag

--------------想法结束-----------

在网上搜索包括体验几个知名小程序都是新增授权页面的做法,不知道我这么做的话能否通过审核?

阅读 1.7k
1 个回答

可以的,我做的时候是加一个到后台的校验判断,是否得到用户基本信息,第一次登陆app.js中的token校验会执行,用户的code会传到后台获取用户openid(这是没有用户id),但是这个用户的核心信息,后台已经有了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题