小程序已授权,wx.getSetting()拿到的授权信息为空
发布于 5 年前 作者 pzhong 11937 次浏览 来自 问答

微信小程序 进入时,点击按钮出现授权弹窗,进行授权,通过wx.getSetting()拿到的授权信息为空

打开授权设置页,出现的也是空白

明明已经授权过了,为啥显示没有授权呢?(这种现象是偶现的,但是频率也不是很低)

3 回复

//点击

onClickLink() {

this.test = 1;
this.showToast(this.test)
},
//生命周期
onLoad() {
this.test = 100;
setInterval(() => {
if (this.test <= 50) {
this.test++;
wx.getSetting({
success: (res) => {
wx.getUserInfo({
success: (info) => {

},
fail: () => {deferred.reject(1);
}
},
fail: () => {
}
})
}
}, 100)
}
  1. 我们项目也偶现此问题, 因为部分场景会 先触发getSetting,再触发 getUserInfo。 这种触发的过于频繁后, 再getSetting,就会出问题。

  2. 大概测试代码如上,  getSetting,getUserInfo 触发 50次后,   50%以上概率,获取getSetting 出现楼主问题。

  3. 理论上getUserInfo不应该频繁触发,想办法缓存userInfo后,此问题可解

你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

拒绝之后,不能立即获取到拒绝的信息,有延迟,可以写个延迟就能取到

回到顶部