<button open-type="getUserInfo" bindgetuserinfo="getUserInfo" >允许</button>
登录授权按钮通过上述按钮进行授权
---就是这个简单的登录接口
虽然已经通过open-type="getUserInfo" 进行获取授权,但是查看文档发现
wx.getUserInfo 在没有授权的情况下直接走失败回调,所以我就利用这个特性规避拒绝授权后的继续请求服务器的情况。
本次问题出现的特别尴尬,在之前本人测试的时候一直没遇到过,就是查看后台的时候发现个别用户在同一时间同一秒接连请求两次后台。
所以想请教一下大佬们,我这个登录操作是不是还有什么不妥的地方,为什么会在wx.login api里面请求两次后台。我在登陆时直接开启了遮罩层,按道理讲不可能连点两次的吧。 新人在线跪求大佬解答。
↓为登录接口代码。
getUserInfo: function (e) { console.log(e) var that = this wx.showLoading({ title: '登陆中..' , mask: true }) wx.getUserInfo({ success(res) { app.globalData.userInfo = res.userInfo wx.setStorage({ key: 'userInfo' , data: res.userInfo, }) var datalist = res console.log(datalist) wx.login({ success(res) { if (res.code) { wx.request({ url: app.globalData.service + '登录接口' , method: 'post' , data: { code: res.code, //login返回的code nickName: datalist.userInfo.nickName,//login返回的用户名 avatarUrl: datalist.userInfo.avatarUrl,//login返回的用户头像 }, success(res) { }, }) } else { that.setData({ login: false }) } }, fail() { that.setData({ login: false }) wx.hideLoading() wx.showToast({ title: '登陆失败!请重新授权!!' , icon: 'none' , duration: 2000, mask: true }) } }) }, fail() { wx.hideLoading() wx.showToast({ title: '登陆失败!请授权!!' , icon: 'none' , duration: 2000, mask: true }) } }) }, |
基础库2.8.1 开发者工具 v1.02.1907301
怀疑是多点击了
<button open-type="getUserInfo" bindgetuserinfo="{{mask?'':'getUserInfo'}}" >允许</button>
解决了吗,我也遇到了这个问题