微信小程序结合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+MySQL的聊天室设计
Oct 09 PHP
第三节--定义一个类
Nov 16 PHP
实用函数3
Nov 08 PHP
浅谈apache和nginx的rewrite的区别
Feb 22 PHP
ajax完美实现两个网页 分页功能的实例代码
Apr 16 PHP
php实现批量下载百度云盘文件例子分享
Apr 10 PHP
ThinkPHP权限认证Auth实例详解
Jul 22 PHP
php操作memcache缓存方法分享
Jun 03 PHP
JavaScript与HTML结合的基本使用方法整理
Oct 12 PHP
PHP在线调试执行的实现方法(附demo源码)
Apr 28 PHP
微信小程序 消息推送php服务器验证实例详解
Mar 30 PHP
php基于协程实现异步的方法分析
Jul 17 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防止伪造数据从地址栏URL提交的方法
2014/08/24 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
ThinkPHP处理Ajax返回的方法
2014/11/22 PHP
thinkphp缓存技术详解
2014/12/09 PHP
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
PHP编写的图片验证码类文件分享
2016/06/06 PHP
PHP聊天室简单实现方法详解
2018/12/08 PHP
jquery 图片 上一张 下一张 链接效果(续篇)
2010/04/20 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
jquery实现非叠加式的搜索框提示效果
2014/01/07 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
JS实现超过长度限制后自动跳转下一款文本框的方法
2015/02/23 Javascript
js获取元素的外链样式的简单实现方法
2016/06/06 Javascript
轻松掌握JavaScript状态模式
2016/09/07 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
js实现表格筛选功能
2017/01/18 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
基于vue开发的在线付费课程应用过程
2018/01/25 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
解决layui中的form表单与button的点击事件冲突问题
2018/08/15 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
js实现点击烟花特效
2020/10/14 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
[04:54]DOTA2 2017国际邀请赛:上届冠军WINGS采访短片
2017/08/09 DOTA
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
[06:59]DOTA2-DPC中国联赛3月7日Recap集锦
2021/03/11 DOTA
Python 列表(List) 的三种遍历方法实例 详解
2017/04/15 Python
python删除不需要的python文件方法
2018/04/24 Python
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
python GUI实现小球满屏乱跑效果
2019/05/09 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
2019/06/04 Python
给国外客户的邀请函
2014/01/30 职场文书
幼儿园六一活动总结
2014/08/27 职场文书