恐怖的回调地狱,微信改善一下吧
getPhoneNumber获取用户手机号有失败的概率线上环境。 5个用户测试,其中一个用户(iphone8p)连续4次获取手机号失败之后才成功了。 不知道是什么原因? //登录,获取手机号 login: function (e) { console.log(e.detail.errMsg); // 如果用户授权且微信已绑定手机号 if (e.detail.iv) { app.showLogin(); const sys=wx.getSystemInfoSync();//获取手机和型号 const brand=sys.brand || ''; const model=sys.model || ''; wx.login({ success: res => { console.log('发code到后台换取 openid, sessionKey'); if (res.code) { wx.request({ url: app.globalData.appUrl + 'login', method: 'POST', data: { code: res.code, iv: e.detail.iv, encryptedData: e.detail.encryptedData, brand:brand, model:model }, success: (res) => { if (res.data.openid) { console.log(res.data); wx.hideLoading(); wx.setStorageSync('openid', res.data.openid); //拿到openid存本地 this.setData({ isLogin: true, }); this.getData(res.data);//调用共用方法--得出所有数据 wx.hideLoading(); // this.stickyTop();//再次算出固定栏距离顶部的距离 } else {//解密手机号失败等 console.log(res.data.errCode); app.loginFail(); } }, fail: () => {//wx.request失败--情况很少 app.loginFail(); } }) } else {//没有获取到code--情况很少 app.loginFail(); } }, fail: () => {//wx.login失败--情况很少 app.loginFail(); } }) } else if (e.detail.errMsg.indexOf('10000') !== -1) { //用户未绑定手机号 console.log('未绑定手机'); this.setData({ showHint: true }) } // else 用户拒绝授权--不管了 },
2018-08-01