前端:
官方文档:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html
实现思路:
1、通过wx.login获取code,从而获取到用户的openID和sessionKey
2、通过getPhoneNumber获取encryptedData,iv
3、通过参数【encryptedData】 、【iv】 、【sessionKey】 请求后台解密获取用户手机号
前端通过以上步骤拿到【code】【encryptedData】 、【iv】 、【sessionKey】 传给后端,后端进行解密,拿到电话号码返回给前端
后端程序员:
下载官方sdk:https://res.wx.qq.com/wxdoc/dist/assets/media/aes-sample.eae1f364.zip,这个是官方解密类
调用sdk里面的decryptData()解密方法
$pc = new WXBizDataCrypt($appId, $sessionKey); $data = []; $pc->decryptData(rawurldecode($encryptedData), rawurldecode($iv), $data);
打印出来的$data则是解密后的信息