有三个tab页:home、product、 center。微信小程序自带头部导航掉下来了。&微信小程序教程。每个tab页的onShow都有下面这段代码
onShow: function () {
// 授权用户信息
wx.getSetting({
success: res => {
if (res.authSetting['scope.userInfo']) {
// 已经授权用户信息,不再弹出自定义授权弹框
this.setData({
authInfoDlg: false
})
} else {
// 没有授权,弹出自定义授权弹框
this.setData({
authInfoDlg: true
})
}
}
})
}
authInfoDlg 控制一个自定义授权弹框,下面是这个弹框的部分代码。
_getUserInfo (e) {
if (e.detail.userInfo) {
console.log(e)
// 关闭自定义授权弹框
this.setData({
authInfoDlg: false
})
// 保存unionId
let { rawData: raw_data, signature, encryptedData: encrypted_data, iv } = e.detail
wx.$ajax('user/saveUserUnionId', {
raw_data,
signature,
encrypted_data,
iv
})
if (this.authSuccess) {
this.authSuccess();
}
}
}
当进入到首页时,弹出自定义授权弹框(图一),点击授权,调起微信用户信息授权弹框(图二),点击允许。
授权之后,除非手动清除授权信息,这个自定义授权弹框不该再出现。但是,当我快速切换tab,这个自定义授权弹框居然会出现,而且,授权信息为空(见下图),这是为何???
本文来自微信小程序开发者论坛 -微信小程序工厂 http://www.xcxgc.com,转载请保留,开发微信小程序、定制微信小程序来微信小程序工厂网。
网友回复
小被**回复:
官方迟迟没有答复,我改了一种实现方式,参考https://segmentfault.com/a/1190000015650591中的微信小程序片段2
Vi**回复: 这个问题我们也遇到了,用的是官方推荐的代码:wx.getSetting({ success: function (res) { console.log(res) if (res.authSetting[ 'scope.userInfo' ]) { that.setData({ isauthorizationShow: true }) } else { that.setData({ isauthorizationShow: false }) } } })
自己做了一个授权的弹窗,然后判断用户是否授权过,未授权就显示,但是问题就是明明授权了,但是过一会后(未退出微信小程序),在其他页面突然弹出了自己做的授权框,退出从进就好了,希望官方尽快给一个回复~
socket服务端&微信小程序开发教程
高淑**回复:
同问~
娇华**回复:
你好,麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)