小程序开发用户授权获取手机号

授权用户获取手机号记录

    • 1. wx.login()获取code,保存session_key
    • 2. getPhoneNumber( ),点击授权

1. wx.login()获取code,保存session_key

wx.login获取code,将code跟后端通讯从而拿到session_key,保存本地(如果小程序有通过账号密码登录的方式,应code + 账号 + 密码)

data: {
    sessionKey: '',
    phoneNumber: ''
  },
  onLoad: function (options) {
    this.wxlogin()
  },
  wxlogin() {
    // let that = this;
    wx.login({
      success: (res) => {
        console.log(res);
        let code = res.code
        let that = this;
         wx.request({
           method: '',  
           url: '',
           data:{
             code
           },
           header:{
             'content-type': 'application/json' 
           },
           success: (res) => {
             console.log(res);
             that .setData({
               sessionKey: res.data.data.session_key  //保存session_key到本地
             })
             console.log(that .data.sessionKey);
           }
         })
        
      }
    })

2. getPhoneNumber( ),点击授权

目前小程序弹窗授权都要通过button让用户点击实现,button绑定方法,让用户点击触发授权

getPhoneNumber(e) {
    let encryptedData = e.detail.encryptedData;
    let iv = e.detail.iv;
    let sessionKey = this.data.sessionKey;
    console.log(e.detail.errMsg == "getPhoneNumber:ok");  //查看是否为true
    if (e.detail.errMsg == "getPhoneNumber:ok") { //为true时发送请求
       wx.request({
         url: '', 
         method: '',   
         header: { "content-type": "application/json" },
         data: {
           encryptedData,
           iv,
           sessionKey
         },
         success: (res) => {
           console.log(res);
           let phoneNumber  = res.data.data.phoneNumber
           //手机号码
           this.setData({
           	phoneNumber
           )}
         },
         fail: (res) => { }
       })
      
    }
  },

你可能感兴趣的:(小程序)