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 用户拒绝授权--不管了
},