微信小程序 手机受权 获取手机号

官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.htmljavascript

先在onShow() 用code换session_keyhtml

onShow() {
    wx.login({
      success: res => {
        let jsCode = res.code
        wx.login({
          success: res => {
            let jsCode = res.code
            app.post.request('接口api/login', {
              jsCode
            })
              .then(res => {
                let result = res.data.data
                wx.setStorageSync('user', res.data.data)
              })
          }
        })
      }
    })
  }

wxml:java

<button class='push-position' style='z-index:999;' open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button>
getPhoneNumber(e) {
    if (e.detail.errMsg == "getPhoneNumber:fail user deny") return;
    let that = this,
      data = {
        encryptedData: e.detail.encryptedData,
        iv: e.detail.iv,
        sessionKey: wx.getStorageSync('user').sessionKey
      }
    app.post.request('接口api/get_phone', data)
      .then(res => {
        if (res.data.code == 12000) {
          app.way.toast('获取成功')
        } else {
          app.way.modal(res.data.msg || '获取失败')
        }
      })
  },