微信小程序> 微信小程序开发之—获取用户微信绑定的手机号

微信小程序开发之—获取用户微信绑定的手机号

浏览量:747 时间: 来源:Still_L

获取用户微信绑定的手机号需要使用button的"open-type='getPhoneNumber'",在获取之前需要检测(checkSession)是否登录。

    wxml:

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

    js:

data:{    showLogin: false, //显示授权框    session_key: null,     openid: null},// 检测是否登录checkSession: function() {    var that = this;    wx.checkSession({      success(res) {        wx.getStorage({          key: 'phone',          success(res) {            if (res.data) {              that.setData({                phoneNumber: res.data              })            } else {              that.setData({                showLogin: true              })            }          }        });      },      fail(res) {        that.login();        that.setData({          showLogin: true        })      }    })},// 登录login: function() {    var that = this;    wx.login({      success: res => {        if (res.code) {          wx.request({            url: 'xxx',            method: "GET",            data: {              code: res.code            },            header: {              "content-type": "application/json"            },            success: function(res) {              that.setData({                openid: res.data.data.openid,                session_key: res.data.data.session_key              });            },            fail: function(res) {              that.login()            }          })        }        // 发送 res.code 到后台换取 openId, sessionKey, unionId      }    });},// 获取手机号getPhoneNumber: function(e) {    var that = this,      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({        showLogin: false,      });      wx.request({        method: "GET",        url: 'xxx',        data: data,        header: {          'content-type': 'application/json' // 默认值          },        success: function(res) {          if (res.data.status == 1001) {            var phoneNum = res.data.data;              that.setData({                showLogin: false,                phoneNumber: phoneNum              });              // 存储手机号              wx.setStorage({                key: 'phone',                data: phoneNum              })          }          // 隐藏授权框          wx.hideLoading()        },        fail: function(res) {          wx.showToast({            title: '授权失败,请重新授权',            icon: 'none',            duration: 2000          });          that.setData({            showLogin: true,          });          that.login();        }      });    }  },

 

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎