微信小程序结合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运行出现Call to undefined function curl_init()的解决方法
Nov 02 PHP
PHP生成迅雷、快车、旋风等软件的下载链接代码实例
May 12 PHP
destoon安全设置中需要设置可写权限的目录及文件
Jun 21 PHP
PHP Session机制简介及用法
Aug 19 PHP
thinkphp特殊标签用法概述
Nov 24 PHP
网站防止被刷票的一些思路与方法
Jan 08 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
Mar 12 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
Oct 21 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
Feb 26 PHP
PHP7常量数组用法分析
Sep 26 PHP
php使用环形链表解决约瑟夫问题完整示例
Aug 07 PHP
windows系统php环境安装swoole具体步骤
Mar 04 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
一道求$b相对于$a的相对路径的php代码
2010/08/08 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
Prototype使用指南之string.js
2007/01/10 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
数组Array进行原型prototype扩展后带来的for in遍历问题
2010/02/07 Javascript
js Form.elements[i]的使用实例
2011/11/13 Javascript
onclick与listeners的执行先后问题详细解剖
2013/01/07 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
JS实现简单的键盘打字的效果
2015/04/24 Javascript
瀑布流的实现方式(原生js+jquery+css3)
2020/06/28 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
javascript事件的绑定基础实例讲解(34)
2017/02/14 Javascript
jQuery实现div跟随鼠标移动
2020/08/20 jQuery
基于vue实现swipe分页组件实例
2017/05/25 Javascript
vue实现a标签点击高亮方法
2018/03/17 Javascript
jquery UI实现autocomplete在获取焦点时得到显示列表功能示例
2019/06/04 jQuery
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
微信小程序后端实现授权登录
2020/02/24 Javascript
如何编写一个 Webpack Loader的实现
2020/10/18 Javascript
[01:00:14]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第二场 2月28日
2021/03/11 DOTA
python实现将元祖转换成数组的方法
2015/05/04 Python
python处理按钮消息的实例详解
2017/07/11 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
python使用super()出现错误解决办法
2017/08/14 Python
python用户管理系统
2018/03/13 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
python模拟实现分发扑克牌
2020/04/22 Python
如何一键升级Python所有包
2020/11/05 Python
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
管理科学大学生求职信
2013/11/13 职场文书
党员个人剖析材料
2014/09/30 职场文书
匿名检举信范文
2015/03/02 职场文书
计算机教师工作总结
2015/08/13 职场文书
css3 filter属性的使用简介
2021/03/31 HTML / CSS
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers