ThinkPHP5通过微信小程序获取用户手机号码的方法及代码原理

2023-07-31

上期我们为大家分享了“PHP通过微信接口获取用户手机号功能的方法及原理代码”的内容,受了大家的关注,今天我们继续和大家分享关于在微信小程序中用ThinkPHP5来获取用户手机号码的方法和代码。需要使用的业务场景就因人而宜了,我们只做分享,你可以根据自己项目的需求来修改和调整。

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: '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);
                }
            })
        }
      },

2、Think PHP 5 的后台代码,在写代码前 需要先下载一个官方提供的文件夹:

ThinkPHP5通过微信小程序获取用户手机号码的方法及代码原理

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

ThinkPHP5通过微信小程序获取用户手机号码的方法及代码原理

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

ThinkPHP5通过微信小程序获取用户手机号码的方法及代码原理

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

ThinkPHP5通过微信小程序获取用户手机号码的方法及代码原理

4、接下来 在你的控制器中 引入  WXBizDataCrypt.php

use applibsWXBizDataCrypt;

然后就可以写 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);
    }

5、最后在回到小程序运行一遍 就可以看到了

ThinkPHP5通过微信小程序获取用户手机号码的方法及代码原理

好了,以上内容就是今天要为大家分享的关于ThinkPHP5通过微信小程序获取用户手机号码的方法及代码原理的全部内容,喜欢的话记得收藏哦!