Cet article présente principalement l'analyse de l'applet Laravel WeChat pour obtenir les détails de l'utilisateur et l'expansion du code de l'applet paramétré. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
Ce package d'extension comprend les fonctions de décryptage des détails de l'utilisateur, de génération d'un petit code de programme avec des paramètres et de son enregistrement dans un répertoire local.
Le décryptage officiel des détails de l'utilisateur fournit également des versions multilingues du SDK (C++, PHP, Node, Python), qui sont uniquement encapsulées dans ce package d'extension.
Générer un petit code de programme avec des paramètres. Le fonctionnaire fournit trois interfaces. Dans ce package d'extension, Interface B est utilisée (adaptée aux scénarios commerciaux qui nécessitent un grand nombre de codes. Le petit programme généré via cela. interface Code programme, valable en permanence, aucune limite de quantité).
https://github.com/icharle/Wxtool
Exécutez la commande suivante pour obtenir la dernière version :
composer require icharle/wxtool 1.0
Ajoutez le fournisseur de services au providers
tableauconfig/app.php
dans le fichier de configuration comme suit :
'providers' => [ ... Icharle\Wxtool\WxtoolServiceProvider::class, ]
Publier le fichier de configuration
php artisan vendor:publish --tag=wxtool
Il existe actuellement un fichier config/wxtool.php
.
Configurer AppID et AppSecret
Ajoutez le code suivant dans le répertoire racine .env
fichier
WX_APPID = 您的小程序小程序ID WX_SECRET = 您的小程序密钥
Fichier d'accès au stockage public (Facultatif)
Si vous souhaitez utiliser le code de l'applet avec des paramètres pour générer la fonction , vous devez exécuter la commande suivante. Le code de l'applet généré est enregistré par défaut dans le dossier storage/app/public/qrcode
php artisan storage:link
Obtenir le code de l'applet avec les paramètres (exemple de 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); } }
Obtenir les détails de l'utilisateur (exemple de 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); } }
Résultat de retour du décryptage
{ "openId": "OPENID", "nickName": "NICKNAME", "gender": GENDER, "city": "CITY", "province": "PROVINCE", "country": "COUNTRY", "avatarUrl": "AVATARURL", "unionId": "UNIONID", "watermark": { "appid":"APPID", "timestamp":TIMESTAMP } }
Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
Lecture de la configuration .env multi-environnements des versions Laravel5.5 et supérieures
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!