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
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).
https://github.com/icharle/Wxtool
Run the following command to get the latest version:
composer require icharle/wxtool 1.0
Add the service provider to the providers
array in the configuration file config/app.php
as follows:
'providers' => [ ... Icharle\Wxtool\WxtoolServiceProvider::class, ]
Publish configuration file
php artisan vendor:publish --tag=wxtool
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 = 您的小程序密钥
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
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); } }
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); } }
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 } }
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!