微信小程序获取手机号解析失败

 // 第一步 先获取 code 
onLoad() { 
    let that = this;
    // console.log(options);

    wx.login({
        success: res =>{
            that.data.code = res.code
        }
    })
}
  //获取手机号
    getPhoneNumber(e) {
 
      var that = this;
    
      if (e.detail.errMsg !== "getPhoneNumber:ok"){
        return;
    }

    wx.showLoading({
        mask: true,
    })
      // 检查登录态是否过期
      wx.checkSession({
        success(res) {
            // session_key 未过期,并且在本生命周期一直有效
            // console.log(res);
            let data={
              code: that.data.code,
              appId:"wx9e481796d357faf7",
              secret:"fe46ae0669f527d4fb37d81fe8b9d9a3"
            }
      $api.authLogin(data).then(res=>{
        console.log("步骤三获取授权码,获取授权openid,session_key",res);
        var userphone=res.data.data;
        wx.setStorageSync('userphoneKey',userphone);
        console.log(e)
        //解密手机号

        var msg = e.detail.errMsg;
        var sessionKey=wx.getStorageSync("userphoneKey").sessionKey
        var encryptedData=e.detail.encryptedData;
        var iv=e.detail.iv;
        that.deciyption(sessionKey,encryptedData,iv);   
      })
        },
        fail(err) {
            // session_key 已经失效,需要重新执行登录流程
            wx.login({
                success: res => {
                    that.data.code = res.code
                }
            })
        },
        complete: res => {
          wx.hideLoading();
      }
    })

    },
// 调用服务端 
 deciyption(sessionKey,encryptedData,iv){
   
      var that = this;
      let data={
        sessionKey: sessionKey,
        encryptedData:encryptedData,
        iv: iv,
        appId:"wx9e481796d357faf7",
      }
      $api.decode(data).then(res=>{
        if(res.data.code==200){
          var localUserInfo=wx.getStorageSync("localUserInfo").nickName
          var headPortrait=wx.getStorageSync("localUserInfo").avatarUrl
           var openId=wx.getStorageSync("userphoneKey").openId
           console.log(headPortrait);
           wx.request({
             url: 'http://192.168.31.78:8083/system/weChat/addUser',
             method:"post",
             data: {
               deptId: 100,
               wechatname:localUserInfo,
               identity: openId,
               phonenumber:res.data.data.phoneNumber,
               headPortrait:headPortrait
             },
             success:function(res){
               
               wx.setStorageSync('token',JSON.stringify(res.data.data.token))
               console.log(res.data.data.token)
              
             }
           })
          
            
             that.setData({
               showPhone:true,
              })
 
          
             console.log("line 79",res.data.data);
             var json= res.data.data;
             wx.setStorageSync('userphone', res.data.data.phoneNumber);
             console.log("步骤5解密成功",res.data.data);
             that.setData({
               showPhone:false,
               visible:false,
               "userInfo.phone":wx.getStorageSync('userphone')
              })
        }

      }).catch(err=>{
       
      })
    },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值