微信小程序结合ThinkPHP5授权登陆后获取手机号


Posted in PHP onNovember 23, 2021

1.在我们授权登陆后会获取到用户的 sessionKey 这个是获取手机号不可分割的一部分

上代码

wxml:

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button>

js:当我们在调用这个方法的时候可以在控制台输出一下 e 下方用红框框起来的两个也是获取手机号不可分割的一部分

微信小程序结合ThinkPHP5授权登陆后获取手机号

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 的后台代码了,再写代码前 需要先下载一个官方提供的文件夹

网址:服务端获取开放数据 | 微信开放文档

微信小程序结合ThinkPHP5授权登陆后获取手机号

 下载好后有四种语言的 我们只要PHP的

微信小程序结合ThinkPHP5授权登陆后获取手机号

 将PHP这个文件夹放到你的 Think PHP 5 的 app 目录下,记得更改文件夹名字,就像这个样

微信小程序结合ThinkPHP5授权登陆后获取手机号

接下来 给 WXBizDataCrypt.php 增加命名空间和引入ErrorCode.php 文件

微信小程序结合ThinkPHP5授权登陆后获取手机号 

接下来 在你的控制器中 引入  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授权登陆后获取手机号的文章就介绍到这了,更多相关小程序 获取手机号内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
PHP 增加了对 .ZIP 文件的读取功能
Oct 09 PHP
以文本方式上传二进制文件的PHP程序
Oct 09 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
Jan 06 PHP
php的zip解压缩类pclzip使用示例
Mar 14 PHP
PHP按行读取、处理较大CSV文件的代码实例
Apr 09 PHP
Symfony的安装和配置方法
Mar 17 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
PHP的PDO连接讲解
Jan 24 PHP
Smarty模板配置实例简析
Jul 20 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
Feb 29 PHP
php7 list()、session及其他模块的修改实例分析
May 25 PHP
PHP遍历数组的6种方式总结
Nov 17 #PHP
关于PHP数组迭代器的使用方法实例
php双向队列实例讲解
Nov 17 #PHP
如何解决php-fpm启动不了问题
Nov 17 #PHP
一次项目中Thinkphp绕过禁用函数的实战记录
php修改word的实例方法
Nov 17 #PHP
PHP获取学生成绩的方法
Nov 17 #PHP
You might like
PHP中的cookie
2006/11/26 PHP
Yii学习总结之数据访问对象 (DAO)
2015/02/22 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
javascript实现的使用方向键控制光标在table单元格中切换
2010/11/17 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
javascript获取元素离文档各边距离的方法
2015/02/13 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
JavaScript操作class和style样式代码详解
2016/02/13 Javascript
原生javascript实现匀速运动动画效果
2016/02/26 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
2017/02/26 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
详解React Native 采用Fetch方式发送跨域POST请求
2017/11/15 Javascript
浅谈FastClick 填坑及源码解析
2018/03/02 Javascript
webpack 打包压缩js和css的方法示例
2018/03/20 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
详解关于html,css,js三者的加载顺序问题
2019/04/10 Javascript
react实现antd线上主题动态切换功能
2019/08/12 Javascript
python操作日期和时间的方法
2014/03/11 Python
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
Python MySQLdb Linux下安装笔记
2015/05/09 Python
使用rst2pdf实现将sphinx生成PDF
2016/06/07 Python
Python中property函数用法实例分析
2018/06/04 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
Python 将 QQ 好友头像生成祝福语的实现代码
2020/05/03 Python
python如何保存文本文件
2020/06/07 Python
Python实现删除某列中含有空值的行的示例代码
2020/07/20 Python
浅析python中的del用法
2020/09/02 Python
解决Python3.8运行tornado项目报NotImplementedError错误
2020/09/02 Python
CSS的pointer-events属性详细介绍(作用和注意事项)
2014/04/23 HTML / CSS
交通安全教育制度
2014/02/02 职场文书
小学家长通知书评语
2014/12/31 职场文书
家长给老师的感谢信
2015/01/20 职场文书
MySQL Innodb关键特性之插入缓冲(insert buffer)
2021/04/08 MySQL
vue+echarts实现多条折线图
2022/03/21 Vue.js