微信小程序结合ThinkPHP5授权登陆后获取手机号

admin3年前PHP教程34

1.在我们授权登陆后会获取到用户的 sessionKey 这个是获取手机号不可分割的一部分

上代码

wxml:

<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">获取手机号</button>

js:当我们在调用这个方法的时候可以在控制台输出一下 e 下方用红框框起来的两个也是获取手机号不可分割的一部分

getPhoneNumber: function (e) {var that = this;console.log(e.detail.errMsg == "getPhoneNumber:ok");if (e.detail.errMsg == "getPhoneNumber:ok") {wx.request({url: 'phone/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 的后台代码了,再写代码前 需要先下载一个官方提供的文件夹

网址:服务端获取开放数据 | 微信开放文档

 下载好后有四种语言的 我们只要PHP的

 将PHP这个文件夹放到你的 Think PHP 5 的 app 目录下,记得更改文件夹名字,就像这个样

接下来 给 WXBizDataCrypt.php 增加命名空间和引入ErrorCode.php 文件

接下来 在你的控制器中 引入  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授权登陆后获取手机号的文章就介绍到这了,更多相关小程序 获取手机号内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:blog.csdn/m0_62199749/article/details/121458904

免责声明:本文内容来自用户上传并发布,站点仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。请核实广告和内容真实性,谨慎使用。

相关文章

哪些企业需要租用厦门高防服务器

哪些企业需要租用厦门高防服务器?需要租用厦门高防服务器的企业主要包括以下几类:电子商务平台:电子商务平台需要处理大量的交易和用户数据,因此需要具备高性能和安全性能的服务器来确保稳定的运营,并防范DDo...

PHP实现会员注册系统

分享一个基于PHP的非常简单基础的注册系统,为了减轻难度没有使用Cookie和Session,数据库大家按照自己需求更改,有问题欢迎联系我。index<!DOCTYPE html><...

租用国外多ip服务器有哪些优势国外多ip服务器如何选择合适的

租用国外多ip服务器的优势有:1、有利于搜索引擎收录,提高服务器网站内容的收录率;2、稳定性好,不会因为一个网站出现问题而受到影响;3、使用多IP部署网站更加易于维护;4、资源多,能保障网站不间断正常...

PHP如何删除关联数组中键值

1、使用unset()函数可以用于取消设置关联数组中的键及其值。234567891011// 声明关联数组$arr = array(    "1&qu...

香港大带宽服务器的购买和使用方法

香港大带宽服务器的购买和使用方法?要购买和使用香港大带宽服务器,您需要按照以下步骤进行:选择合适的供应商:在网上搜索香港大带宽服务器提供商,并根据服务质量、可靠性、安全性、支持和价格等因素进行评估。选...

eval(cmd)与eval($cmd)的区别与联系

这个问题一直困扰我许久,今天终于解决清楚了问题1:eval的执行是否需要双引号包括:先看三个命令:a:<?php eval(system(dir))?>b:<?php &n...