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

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

大概逻辑:首先要进行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)
        }
      })
    }   
  },

Guess you like

Origin blog.csdn.net/qq_36229632/article/details/95226440