1.在我们授权登陆后会获取到用户的 sessionKey 这个是获取手机号不可分割的一部分
上代码
wxml:
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button>
js:当我们在调用这个方法的时候可以在控制台输出一下 e 下方用红框框起来的两个也是获取手机号不可分割的一部分
getPhoneNumber: function (e) { var that = this; console.log(e.detail.errMsg == "getPhoneNumber:ok"); if (e.detail.errMsg == "getPhoneNumber:ok") { wx.request({ url: 'http://www.phone.com/test/Seek/getPhone', data: { encryptedData: e.detail.encryptedData, iv: e.detail.iv, sessionKey: that.data.session_key, }, method: "post", success: function (res) { console.log(res); } }) } },
然后就是Think PHP 5 的后台代码了,再写代码前 需要先下载一个官方提供的文件夹
网址:服务端获取开放数据 | 微信开放文档
下载好后有四种语言的 我们只要PHP的
将PHP这个文件夹放到你的 Think PHP 5 的 app 目录下,记得更改文件夹名字,就像这个样
接下来 给 WXBizDataCrypt.php 增加命名空间和引入ErrorCode.php 文件
接下来 在你的控制器中 引入 WXBizDataCrypt.php
use app\libs\WXBizDataCrypt;
然后就可以写 PHP 代码了
public function getPhone(){ $encryptedData = input('encryptedData'); $iv = input('iv'); $sessionKey = input('sessionKey'); $appID = config('appID'); $data = null; $pc = new WXBizDataCrypt($appID, $sessionKey); $errCode = $pc->decryptData($encryptedData, $iv, $data ); $data = json_decode($data,true); return json($data); }
最后在回到小程序运行一遍 就可以看到了
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。