博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小程序授权用户个人信息流程
阅读量:6395 次
发布时间:2019-06-23

本文共 686 字,大约阅读时间需要 2 分钟。

小程序社区的提问

业务场景

我们的授权流程是:在用户进入小程序的时候就让用户授权用户基本信息。虽然小程序官方建议在需要用户的昵称、头像等信息的时候再去让用户授权。

授权变动

由于小程序将授权用户基本信息改成了只能通过button调用,所以在此次小程序的开发中,我们自定义了一个授权弹框(图一),通过弹框上的【点击授权】按钮去调用微信授权弹框(图二)。

自定义授权弹框:

clipboard.png

微信授权弹框:

clipboard.png

实现

方案1:在tabbar页和具有分享功能的页面的onShow中调用wx.getSetting判断是否已经授权,如果已经授权,隐藏自定义授权弹框;否则,显示自定义授权弹框。代码如下:

小程序片段1: wechatide://minicode/a1GSyHmP7o10

存在的问题:在已经授权用户信息的情况下快速切换tab会出现wx.getSetting返回的res.authSetting['scope.userInfo']为空的情况,从而导致自定义授权弹框的显示。但此时点击自定义授权中的【点击授权】按钮又不能调起微信授权弹框,因为之前已经授权过了。猜测是因为频繁调用wx.getSetting的原因。

方案2:在tabbar页的onLoad中调用wx.getSetting,这样就避免了切换tabbar的时候频繁调用wx.getSetting。然后将是否授权的信息(authInfoDlg)存在全局,在tabbar页的onShow中根据authInfoDlg确定是否显示自定义授权弹框。代码如下:

小程序片段2: wechatide://minicode/N4Yz4WmK7W43

转载地址:http://gwgha.baihongyu.com/

你可能感兴趣的文章
解决ubuntu系统安装完后启动项里没有ubuntu的问题
查看>>
Objective-C中new与alloc/init的区别
查看>>
手动编译Mysql5.6.10 手动编译php 支持fastcgi
查看>>
MySQL主主
查看>>
linux的权限管理以及特殊权限SUID,SGID,Sticky
查看>>
大数据测试之初识Hadoop2
查看>>
linux安装nginx
查看>>
ant 之传参数
查看>>
翻转单词顺序与左旋转字符串
查看>>
在Zf2中实现Controller按照URL自动注册
查看>>
批处理的变量引用
查看>>
oracle ORACLE_SID使用上的意义
查看>>
RHEL5下安装Xen
查看>>
2011百度之星初赛B圆环
查看>>
canvas绘制时钟
查看>>
apache配置网络驱动器
查看>>
小型企业网站的架构 & 安全配置与防护
查看>>
mysql模糊查询的优化方法--亲自实践
查看>>
Exchange Server 2013 规划系列之日志容量规划、数据库容量规划
查看>>
职场必读的经典励志故事
查看>>