微信小程序结合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 相关文章推荐
拼音码表的生成
Oct 09 PHP
php学习 字符串课件
Jun 15 PHP
php 连接mssql数据库 初学php笔记
Mar 01 PHP
php gd2 上传图片/文字水印/图片水印/等比例缩略图/实现代码
May 15 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
Apr 17 PHP
ThinkPHP实现更新数据实例详解(demo)
Jun 29 PHP
php版微信公众号接口实现发红包的方法
Oct 14 PHP
Smarty日期时间操作方法示例
Nov 15 PHP
PHP面向对象程序设计类的定义与用法简单示例
Dec 27 PHP
php 人员权限管理(RBAC)实例(推荐)
May 24 PHP
PDO::query讲解
Jan 29 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 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应用JSON技巧讲解
2013/02/03 PHP
php实现邮件发送并带有附件
2014/01/24 PHP
分享PHP函数实现数字与文字分页代码
2015/07/28 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
PHP使用zlib扩展实现GZIP压缩输出的方法详解
2018/04/09 PHP
PHP isset()及empty()用法区别详解
2020/08/29 PHP
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
JS获取键盘上任意按键的值(实例代码)
2013/11/12 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
Vue.js实现拖放效果的实例
2016/09/30 Javascript
Vue 仿百度搜索功能实现代码
2017/02/16 Javascript
vue数据双向绑定原理解析(get &amp; set)
2017/03/08 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
mescroll.js上拉加载下拉刷新组件使用详解
2017/11/13 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
2020/09/18 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
Bootstrap FileInput实现图片上传功能
2021/01/28 Javascript
[01:20]PWL开团时刻DAY9——听说潮汐没用?
2020/11/10 DOTA
python实现的二叉树定义与遍历算法实例
2017/06/30 Python
python 将字符串转换成字典dict的各种方式总结
2018/03/23 Python
python高级特性和高阶函数及使用详解
2018/10/17 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
Python HTTP下载文件并显示下载进度条功能的实现
2020/04/02 Python
keras模型保存为tensorflow的二进制模型方式
2020/05/25 Python
基于Python正确读取资源文件
2020/09/14 Python
python 利用matplotlib在3D空间绘制二次抛物面的案例
2021/02/06 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
十岁生日父母答谢词
2014/01/18 职场文书
采购部部长岗位职责
2014/02/06 职场文书
和谐家庭演讲稿
2014/05/24 职场文书
消防志愿者活动方案
2014/08/23 职场文书
2014年教师学期工作总结
2014/11/08 职场文书
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电