微信小程序> 微信小程序获取用户手机号码

微信小程序获取用户手机号码

浏览量:818 时间: 来源:impossible1994727

1、在获取手机号码之前,要先进行登陆。

使用wx.login进行登录,登录成功会返回一个code,将code传给后台,获取登录密钥session_key等信息。将这些信息存入data。

2、使用type="getPhoneNumber"的button获取encryptedData,iv将这两个信息和session_key传给后台,通过解密返回正确的手机号码。

 <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">          手机号领取        </button>

通过点击之后获取到的信息为

在 请求后台接口之前要先用wx.checkSession判断登录状态是否过期,如果过期就需要获取新的session_key。
 

 getPhoneNumber(e) {    var msg = e.detail.errMsg, that = this;    var that = this;    var sessionID=that.data.userinfo.Session_key,    encryptedDataStr=e.detail.encryptedData,    iv= e.detail.iv;    if (msg == 'getPhoneNumber:ok') {      wx.checkSession({        success:function(){          that.deciyption(sessionID,encryptedDataStr,iv);        },        fail:function(){          wx.login({            success: res => {              console.log(res,'sessionkey过期')              wx.request('url',{code:res.code},function(res){                var userinfo=res.data.data;                wx.setStorageSync('userinfo',userinfo);                that.setData({                  userinfo:userinfo                });                that.deciyption(userinfo.Session_key,encryptedDataStr,iv);              })            }          })        }      })    }  }, deciyption(sessionID,encryptedDataStr,iv){    wx.request('url', {      sessionID: sessionID,      encryptedDataStr:encryptedDataStr,      iv: iv    }, function (res) {    //这个res即可返回用户的手机号码    })  },

 

版权声明

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

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

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