微信小程序结合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 相关文章推荐
使用eAccelerator加密PHP程序
Oct 03 PHP
PHP 最大运行时间 max_execution_time修改方法
Mar 08 PHP
PHP支持多种格式图片上传(支持jpg、png、gif)
Nov 03 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
Jun 23 PHP
php使用sql server验证连接数据库的方法
Dec 25 PHP
PHP判断IP并转跳到相应城市分站的方法
Mar 25 PHP
WordPress自定义时间显示格式
Mar 27 PHP
PHP获取文件行数的方法
Jun 10 PHP
PHP关联数组实现根据元素值删除元素的方法
Jun 26 PHP
Yii2 rbac权限控制之rule教程详解
Jun 23 PHP
PHP微信企业号开发之回调模式开启与用法示例
Nov 25 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 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程序设计中的MVC编程思想
2014/07/28 PHP
PHP动态页生成静态页的3种常用方法
2014/11/13 PHP
Laravel 5框架学习之表单
2015/04/08 PHP
修改WordPress中文章编辑器的样式的方法详解
2015/12/15 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
Javascript继承机制的设计思想分享
2011/08/28 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
jquery自定义表单验证插件
2016/10/12 Javascript
jQuery Ajax使用FormData上传文件和其他数据后端web.py获取
2017/06/11 jQuery
JS实现身份证输入框的输入效果
2017/08/21 Javascript
原生JS封装animate运动框架的实例
2017/10/12 Javascript
Express下采用bcryptjs进行密码加密的方法
2018/02/07 Javascript
Js经典案例的实例代码
2018/05/10 Javascript
Vue文件配置全局变量的实例
2018/09/06 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
Python中文件操作简明介绍
2015/04/13 Python
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
Python的pycurl包用法简介
2015/11/13 Python
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
Django自定义认证方式用法示例
2017/06/23 Python
定制FileField中的上传文件名称实例
2017/08/23 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
Python抓包并解析json爬虫的完整实例代码
2020/11/03 Python
解决python3输入的坑——input()
2020/12/05 Python
50个强大璀璨的CSS3/JS技术运用实例
2010/02/27 HTML / CSS
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
Kaufmann Mercantile官网:家居装饰、配件、户外及更多
2018/09/28 全球购物
工作交流会欢迎词
2014/01/12 职场文书
销售员自我评价
2015/03/11 职场文书
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP
vue本地构建热更新卡顿的问题“75 advanced module optimization”完美解决方案
2022/08/05 Vue.js