微信小程序结合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图片等比缩放类SimpleImage使用方法和使用实例分享
Apr 10 PHP
PHP提高编程效率的20个要点
Sep 23 PHP
PHP使用数组依次替换字符串中匹配项
Jan 08 PHP
Yii使用migrate命令执行sql语句的方法
Mar 15 PHP
thinkPHP商城公告功能开发问题分析
Dec 01 PHP
thinkPHP5.0框架引入Traits功能实例分析
Mar 18 PHP
谈谈从phpinfo中能获取哪些值得注意的信息
Mar 28 PHP
thinkphp5.0自定义验证规则使用方法
Nov 16 PHP
php利用云片网实现短信验证码功能的示例代码
Nov 18 PHP
在laravel中实现ORM模型使用第二个数据库设置
Oct 24 PHP
PHP+fiddler抓包采集微信文章阅读数点赞数的思路详解
Dec 20 PHP
Laravel 框架控制器 Controller原理与用法实例分析
Apr 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
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
分享一下贝贝成长进度的php代码
2012/09/14 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
JS去除字符串的空格增强版(可以去除中间的空格)
2009/08/26 Javascript
《JavaScript高级程序设计》阅读笔记(三) ECMAScript中的引用类型
2012/02/27 Javascript
js局部刷新页面时间具体实现
2013/07/04 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
2015/02/10 Javascript
jquery制作多功能轮播图插件
2015/04/02 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
2015/09/15 Javascript
jQuery隐藏和显示效果实现
2016/04/06 Javascript
使用vue.js开发时一些注意事项
2016/04/27 Javascript
非常漂亮的相册集 使用jquery制作相册集
2016/04/28 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
AngularJS基础 ng-include 指令示例讲解
2016/08/01 Javascript
vue多个元素的样式选择器问题
2019/11/29 Javascript
用Nodejs实现在终端中炒股的实现
2020/10/18 NodeJs
vue 如何从单页应用改造成多页应用
2020/10/23 Javascript
[01:13:59]LGD vs Mineski Supermajor 胜者组 BO3 第三场 6.5
2018/06/06 DOTA
zbar解码二维码和条形码示例
2014/02/07 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
分析python请求数据
2018/08/19 Python
java判断三位数的实例讲解
2019/06/10 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
Python selenium爬取微博数据代码实例
2020/05/22 Python
python 瀑布线指标编写实例
2020/06/03 Python
python raise的基本使用
2020/09/10 Python
app内嵌H5 webview 本地缓存问题的解决
2020/10/19 HTML / CSS
如何查看浏览器对html5的支持情况
2020/12/15 HTML / CSS
销售文员的岗位职责
2013/11/20 职场文书
双拥工作宣传标语
2014/06/26 职场文书
入股合作协议书
2014/10/12 职场文书
校长新学期寄语2016
2015/12/04 职场文书
导游词之无锡古运河
2019/11/14 职场文书
python之django路由和视图案例教程
2021/07/26 Python