获取微信手机号解密失败
小程序在登录后,立即调用调用获取微信手机号,同时调用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' ); } }, |