wx.getSetting({ success: res => { if (res.authSetting['scope.userInfo']) { console.log('已经授权') // 已经授权,可以直接调用 getUserInfo wx.getUserInfo({ success: res => { console.log('app.js执行 getUserInfo') // 可以将 res 发送给后台解码出 unionId this.globalData.userInfo = res.userInfo // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (this.userInfoReadyCallback) { this.userInfoReadyCallback(res) } } }) }else{ wx.getUserInfo({ success: res => { console.log('app.js执行 getUserInfo2') // 可以将 res 发送给后台解码出 unionId this.globalData.userInfo = res.userInfo // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回 // 所以此处加入 callback 以防止这种情况 if (this.userInfoReadyCallback) { this.userInfoReadyCallback(res) } } }) } } })1:上面的代码中,第一次未授权时会走入else分支,此时会有弹窗,当我不清楚缓存,只是重新编译一下时再次运行时会走入if()分支也就是已经授权,但是紧接着下面也执行了wx.getUserInfo,但是没有弹窗,这是为什么?
添加回答
举报
0/150
提交
取消