获取微信手机号解密失败
发布于 5 年前 作者 weiliao 2122 次浏览 来自 问答

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

你好,麻烦在手机微信那里上传下日志: 我->设置->帮助与反馈右上角有个上报日志的入口,麻烦提供一下微信号,时间点

回到顶部