千家信息网

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

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章给大家分享的是有关微信小程序如何结合ThinkPHP5授权登陆后获取手机号的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.在我们授权登陆后会获取到用户的 sess
千家信息网最后更新 2024年09月22日微信小程序如何结合ThinkPHP5授权登陆后获取手机号

这篇文章给大家分享的是有关微信小程序如何结合ThinkPHP5授权登陆后获取手机号的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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

上代码

wxml:

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

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 的后台代码了,再写代码前 需要先下载一个官方提供的文件夹

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

下载好后有四种语言的 我们只要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授权登陆后获取手机号"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

0