一、需要准备的条件
var APPID = 'wx10xxxxxxxxx50a'; // 小程序的APPID
var SECRET = 'ee83ae7xxxxxxxxxcxxae50dd1bac'; // 小程序的SECRET
var WX_AUTH_URL = 'https://api.weixin.qq.com/sns/jscode2session'; // 小程序提供
//微信提供的解密函数,请修改为你自己的路径
var WXBizDataCrypt = require('./WXBizDataCrypt.js');
WXBizDataCrypt 下载地址
- 第一步 页面上添加获取电话号码的按钮
<button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">获取电话号码</button>
- 第二步 获取到 code值
var that = this;
uni.login({
success: function(res) {
// 获取code
that.login_code = res.code;
}
});
- 第三步 请求解密后获得电话号码
getPhoneNumber(e) {
var encryptedData = e.detail.encryptedData;
var iv = e.detail.iv;
var APPID = 'wx10xxxxx3950a';
var SECRET = 'ee83ae75axxxxe50dd1bac';
var WX_AUTH_URL = 'https://api.weixin.qq.com/sns/jscode2session';
var wx_author_url = WX_AUTH_URL + '?appid=' + APPID +
'&secret=' + SECRET + '&js_code=' + this.login_code +
'&grant_type=authorization_code';
uni.request({
url: wx_author_url,
success(re) {
var appId = APPID;
var sessionKey = re.data.session_key;
var pc = new WXBizDataCrypt(appId, sessionKey);
var data = pc.decryptData(encryptedData, iv);
console.log('解密后 data: ', data);
}
});
}