现在很多小程序都需要获取用户的手机号以方便登录,本文就详细的介绍一下微信小程序结合ThinkPHP5授权登陆后获取手机号,感兴趣的可以了解一下
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);
}
最后在回到小程序运行一遍 就可以看到了
到此这篇关于微信小程序结合ThinkPHP5授权登陆后获取手机号的文章就介绍到这了,更多相关小程序 获取手机号内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:微信小程序结合ThinkPHP5授权登陆后获取手机号


基础教程推荐
- laravel model模型定义实现开启自动管理时间created_at,updated_at 2023-03-02
- php中使用array_filter()函数过滤数组实例讲解 2023-05-19
- PHP数据加密方式梳理介绍 2023-07-03
- thinkPHP3.2.2框架行为扩展及demo示例 2022-11-07
- PHP使用SMTP邮件服务器发送邮件示例 2022-11-16
- TP5(thinkPHP5框架)基于bootstrap实现的单图上传插件用法示例 2023-01-19
- PHP删除数组中指定值的元素常用方法实例分析【4种方法】 2022-11-12
- TP5 连接多个数据库及使用方法 2023-08-30
- PHP实现生成数据字典功能示例 2022-10-18
- PHP实现创建一个RPC服务操作示例 2023-04-01