Laravel WeChat applet obtains user details and analysis of applet code expansion with parameters

不言
Release: 2023-04-02 16:50:02
Original
2746 people have browsed it

This article mainly introduces the analysis of the Laravel WeChat applet to obtain user details and the code expansion of the applet with parameters. It has a certain reference value. Now it is shared with everyone. Friends in need can refer to it

Function Introduction

This expansion package includes the functions of decrypting user details, generating small program code with parameters and saving it in a local directory.
User details decryption official also provides multiple language versions of SDK (C, PHP, Node, Python), which is only encapsulated in this expansion package.
Mini program code generation with parameters. The official provides three interfaces. In this expansion package, interface B is used (suitable for business scenarios that require a large number of codes. Mini programs generated through this interface code, permanently valid, the quantity is not limited).

Project Address

https://github.com/icharle/Wxtool

Usage

Run the following command to get the latest version:

composer require icharle/wxtool 1.0
Copy after login

Add the service provider to the providers array in the configuration file config/app.php as follows:

'providers' => [

    ...

    Icharle\Wxtool\WxtoolServiceProvider::class,
]
Copy after login

Publish configuration file

php artisan vendor:publish --tag=wxtool
Copy after login

There is a config/wxtool.php file at this time.

Configure AppID and AppSecret

Add the following code in the root directory .env file

WX_APPID = 您的小程序小程序ID
WX_SECRET = 您的小程序密钥
Copy after login

Public storage Access files (optional)

If you want to use the applet code with parameters to generate the function, you must execute the following command. The generated applet code is saved in the storage/app/public/qrcode folder by default

php artisan storage:link
Copy after login

Quick Start

  • Get the applet with parameters Code (sample code)

      <?php
    
        namespace App\Http\Controllers;
    
        use Icharle\Wxtool\Wxtool;
        use Illuminate\Http\Request;
    
        class TestController extends Controller
        {    
        
            /**
             * 获取带参数小程序码
             * @param $scene 场景值(最大32个可见字符,只支持数字,大小写英文以及部分特殊字符)
             * @param $pages 页面(必须是已经发布的小程序存在的页面(否则报错)
             * @return $imgpath 小程序码路径 (可以直接访问 http://xxx.com/$imgpath)
             */
            public function GetImgCode($scene,$pages)
            {
                $a = new Wxtool();
                $imgpath = $a->GetQrcode($scene,$pages); 
            }
        }
Copy after login
  • Get user details (sample code)

      <?php
    
        namespace App\Http\Controllers;
    
        use Icharle\Wxtool\Wxtool;
        use Illuminate\Http\Request;
    
        class TestController extends Controller
        {    
        
            /**
             * 获取用户详细信息
             * @param Request $request
             */
            public function GetInfo(Request $request)
            {
                $a = new Wxtool();
                $code = $request->code;                                     //wx.login获取
                $encryptedData = $request->encryptedData;                   //wx.getUserInfo 获取
                $iv = $request->iv;                                         //wx.getUserInfo 获取
                $res = $a->GetSessionKey($code);                            //获取用户openid 和 session_key
                $userinfo = $a->GetUserInfo($encryptedData,$iv);            //获取用户详细信息
                dd($userinfo);
            }
        }
Copy after login

Decrypt and return Result

    {
        "openId": "OPENID",
        "nickName": "NICKNAME",
        "gender": GENDER,
        "city": "CITY",
        "province": "PROVINCE",
        "country": "COUNTRY",
        "avatarUrl": "AVATARURL",
        "unionId": "UNIONID",
        "watermark":
        {
            "appid":"APPID",
            "timestamp":TIMESTAMP
        }
    }
Copy after login

The above is the entire content of this article. I hope it will be helpful to everyone's study. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

Laravel5.5 and above multi-environment .env configuration reading

The above is the detailed content of Laravel WeChat applet obtains user details and analysis of applet code expansion with parameters. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template