微信小程序授权用户绑定手机号

微信小程序获取用户所绑定的手机号:

大概逻辑:首先要进行wx.login进行授权登录,登录后获取encryptedData、iv、openid、session_key;然后将这些参数传送给,后台接受到参数后用参数进行解密,最终返回给前台;

授权时需要通过button进行点击授权;

 <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">确认</button> 

js:这里我写成了一个方法,在登录后会判断下当前用户是否授权手机号,然后调取;具体的可以根据项目中的获取需求进行调用;

 getPhoneNumber(e) {
    var That = this;
    var data = {
        encryptedData: e.detail.encryptedData,
        iv: e.detail.iv,
        openid: That.data.openid,
        session_key: That.data.session_key
     }
    if (e.detail.errMsg == 'getPhoneNumber:fail user deny') {
      wx.showToast({
        title: '授权失败,请重新授权',
        icon: 'none',
        duration: 2000
      })
    }else{
      wx.showLoading({
        title: '授权中',
        mask: true
      });
      That.setData({
        getNumber:false,
      });
      wx.request({
        method: "GET",
        url: api.getNumber,
        data:data,
        header: {
          'content-type': 'application/json' 
        },
        success:function(res){
          var phoneNum = res.data;
          // 隐藏授权框
          wx.hideLoading()
          // 存储手机号到本地
          wx.setStorage({
            key: 'phone',
            data: phoneNum
          })
          //提示用户授权成功
          wx.showToast({
            title: '授权成功',
            icon: 'success',
            duration: 2000
          })
        },
        fail:function(res){
          console.log(res)
        }
      })
    }   
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值