获取微信手机号解密失败
小程序在登录后,立即调用调用获取微信手机号,同时调用wx.login获取code后台生成的sessionKey可以解密得到手机号,但是登录后,等待5分钟左右,通过code生成的sessionKey就会解密手机号失败
这个问题只在iOS系统会出现,在Android和开发工具上没有复现,麻烦看下这是什么原因呢
下面是相关逻辑代码
// 获取code getNewCode(){ wx.login({ success: (res)=> { this.setData({ jsCode: res.code }); } }); }, // 获取微信手机号 getPhoneNumber(e){ let {encryptedData, errMsg, iv} = e.detail; // success if (errMsg == 'getPhoneNumber:ok') { this.showLoading({mask:true}) // 用户同意授权 getWxPhoneNum({code: this.data.jsCode, encryptedData, iv}).then(res=>{ this.hideLoading() if(!res || res.code){ this.showToast({title:res.msg || '数据异常'}) return; } this.setData({ isBindPhone: true }) this.updateLoginInfo(true); // 绑定成功调用跳转填单页 this.skipConfirmOrder(); }).catch(err=>{ this.hideLoading() this.showToast({title:'网络异常'}) console.log('getPhoneNum err:',err); }) this.eventlog('click_agreeCell','authorizeCell'); }else{ this.eventlog('click_refuseCell','authorizeCell'); } }, |
