微信小程序结合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 相关文章推荐
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
php开启openssl的方法
May 15 PHP
php获取本周开始日期和结束日期的方法
Mar 09 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
PHP获取远程图片并保存到本地的方法
May 12 PHP
php动态绑定变量的用法
Jun 16 PHP
PHP中$_SERVER使用说明
Jul 05 PHP
微信公众号判断用户是否已关注php代码解析
Jun 24 PHP
数组任意位置插入元素,删除特定元素的实例
Mar 02 PHP
PHP文件类型检查及fileinfo模块安装使用详解
May 09 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
May 14 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
PHP5中使用PDO连接数据库的方法
2010/08/01 PHP
解析PHP汉字转换拼音的类
2013/06/18 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
curl和libcurl的区别简介
2015/07/01 PHP
PHP随手笔记整理之PHP脚本和JAVA连接mysql数据库
2015/11/25 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
推荐自用 Javascript 缩图函数 (onDOMLoaded)……
2007/10/23 Javascript
用js脚本控制asp.net下treeview的NodeCheck的实现代码
2010/03/02 Javascript
js 弹出框 替代浏览器的弹出框
2010/10/29 Javascript
jquery如何实现锚点链接之间的平滑滚动
2013/12/02 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
jQuery hover事件简单实现同时绑定2个方法
2016/06/07 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
小程序开发基础之view视图容器
2018/08/21 Javascript
[02:57]DOTA2亚洲邀请赛小组赛第四日 赛事回顾
2015/02/02 DOTA
[01:01:18]DOTA2上海特级锦标赛主赛事日 - 2 败者组第二轮#2COL VS LGD
2016/03/03 DOTA
一个基于flask的web应用诞生(1)
2017/04/11 Python
Python实现的简单模板引擎功能示例
2017/09/02 Python
详解Pandas之容易让人混淆的行选择和列选择
2019/07/10 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
详解Python的三种拷贝方式
2020/02/11 Python
如何用Python提取10000份log中的产品信息
2021/01/14 Python
实例讲解使用CSS实现多边框和透明边框的方法
2015/09/08 HTML / CSS
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
Java中compareTo和compare的区别
2016/04/12 面试题
类和结构的区别
2012/08/15 面试题
播音主持女孩的自我评价分享
2013/11/20 职场文书
工程班组长岗位职责
2013/12/30 职场文书
给老师的一封建议书
2014/03/13 职场文书
天下第一关导游词
2015/02/06 职场文书
爱岗敬业先进典型事迹材料(2016推荐版)
2016/02/26 职场文书
想创业成功,需要掌握这些要点
2019/12/06 职场文书
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android
python库Tsmoothie模块数据平滑化异常点抓取
2022/06/10 Python