基础用法
小程序没有直接获取手机号的API,微信官方说必须让用户主动调用,在button组件中调用它。用法如下:
<button open-type="getPhoneNumber " bindgetphonenumber="getPhoneNumber">
Page({
getPhoneNumber (e) {
console.log(e.detail.errMsg)
console.log(e.detail.iv)
console.log(e.detail.encryptedData)
}
})
open-type是微信的开放能力。
getPhoneNumber获取用户手机号,可以从bindgetphonenumber回调中获取到用户信息
按照上面代码回调会返回三个值,第一个可以用来判断是否授权,第二个和第三个是加密后的数据,都发给后端。
项目运用
因为后端需要wx.login调用接口获取登录凭证(code),然后让后端用(code)去请求微信的接口拿到session_key,用session_key配合前端传来的两个加密文件就可以解析出来了。这里建议一进入就调用wx.login让后端去拿session_key,然后把session_key保存在缓存中,要解析手机号时在把加密信息和session_key一起传给后端。