微信小程序用户如何授权获取手机号-getPhoneNumber

  介绍

本篇内容主要讲解“微信小程序用户如何授权获取手机号-getPhoneNumber”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“微信小程序用户如何授权获取手机号-getPhoneNumber”吧!

前言

小程序有一个获取用户很便捷的api,就是通过getPhoneNumber获取用户的已经绑定微信的手机号码。有一点要大家注意,现在微信和注重用户体验,有些方法都是需要用户主动去触发才能调用的,比如getPhoneNumber。

实现思路:

1,通过wx.login获取代码,从而获取到用户的openID和sessionKey

2,通过getPhoneNumber获取encryptedData, iv

3,通过参数【encryptedData】,,【4】,【sessionKey】,请求后台解密获取用户手机号

直接上干货:

1,用户点击获取用户手机号码按钮

& lt; button 类=& # 39;pop_btn& # 39;,平原=皌rue"      开式=& # 39;getPhoneNumber& # 39;, bindgetphonenumber=癵etPhoneNumber"在获取用户手机号& lt;/button>

2,弹出授权图片:

微信小程序用户如何授权获取手机号-getPhoneNumber

3,通过解密获取手机号码

微信小程序用户如何授权获取手机号-getPhoneNumber

<强>直接上代码:

wxlogin:,()函数,{,//获取用户的openID和sessionKey   var 才能;that =,;   wx.login({才能   ,,,//获取code 使用wx.login得到的登陆凭证,用于换取openid   成功,,,:,(res),=,祝辞{   ,,,,,wx.request ({   ,,,,,,,方法:,“GET",   ,,,,,,,url:, & # 39; https://xxxwx/wxlogin.do& # 39;   ,,,,,,,数据:,{   ,,,,,,,,,代码:,res.code,   ,,,,,,,,,appId:,“appIdSbcx"   ,,,,,,,,,appKey:,“appKeySbcx"      ,,,,,,,},   ,,,,,,,头:,{   ,,,,,,,,,& # 39;内容类型# 39;:,& # 39;application/json # 39;,//,默认值   ,,,,,,,},   ,,,,,,,成功:,(res),=,祝辞{   ,,,,,,,,,console.log (res);   ,,,,,,,,,that.setData ({   ,,,,,,,,,,,sessionKey: res.data.session_key      ,,,,,,,,,});   ,,,,,,,}   ,,,,,});   ,,,}   ,,});   }      getPhoneNumber:函数(e),{,//点击获取手机号码按钮   var 才能;that =,;   wx.checkSession({才能   成功,,,:,()函数,{   ,,,,,console.log (e.detail.errMsg)   ,,,,,console.log (e.detail.iv)   ,,,,,console.log (e.detail.encryptedData)   ,,,,,var  ency =, e.detail.encryptedData;   ,,,,,var  iv =, e.detail.iv;   ,,,,,var  sessionk =, that.data.sessionKey;   ,,,,,if  (e.detail.errMsg ==, & # 39; getPhoneNumber: fail  user 否认# 39;),{   ,,,,,,,that.setData ({   ,,,,,,,,,modalstatus:真实   ,,,,,,,});      ,,,,,},{,else //同意授权   ,,,,,,,wx.request ({   ,,,,,,,,,方法:,“GET",   url: & # 39; https://xxx/wx/deciphering.do& # 39;   ,,,,,,,,,数据:,{   ,,,,,,,,,,,encrypdata:,百科全书,   ,,,,,,,,,,,ivdata:,四世   ,,,,,,,,,,,sessionkey: sessionk   ,,,,,,,,,},   ,,,,,,,,,头:,{   ,,,,,,,,,,,& # 39;内容类型# 39;:,& # 39;application/json # 39;,//,默认值   ,,,,,,,,,},   ,,,,,,,,,成功:,(res),=,祝辞{   ,,,,,,,,,,,console.log(“解密成功~ ~ ~ ~ ~ ~ ~将解密的号码保存到本地~ ~ ~ ~ ~ ~ ~ ~“);   ,,,,,,,,,,,console.log (res);   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

微信小程序用户如何授权获取手机号-getPhoneNumber