この記事では、主にLaravel WeChatアプレットのユーザー詳細取得とパラメータ化されたアプレットコード展開の分析を紹介します。一定の参考値がありますので、みんなに共有します。困っている友達は参考にしてください
#機能紹介この拡張パッケージには、ユーザーの詳細を復号化し、パラメーターを含む小さなプログラム コードを生成し、それをローカル ディレクトリに保存する機能が含まれています。ユーザー詳細の復号化公式では、複数言語バージョンの SDK (C、PHP、Node、Python) も提供していますが、これはこの拡張パッケージにのみカプセル化されています。プロジェクト アドレスhttps://github.com/icharle/Wxtool使用方法
パラメータ小規模プログラム コード生成では、公式では 3 つのインターフェイスが提供されています。この拡張パッケージでは、
インターフェイス B が使用されます (大量のコードが必要なビジネス シナリオに適しています。このインターフェイスを通じて生成される小規模プログラムコード、永久に有効、数量に制限はありません)。
次のコマンドを実行して最新バージョンを取得します:
composer require icharle/wxtool 1.0
次のように、構成ファイル config/app.php の
providers 配列にサービス プロバイダーを追加します。
'providers' => [ ... Icharle\Wxtool\WxtoolServiceProvider::class, ]
設定ファイルの公開
php artisan vendor:publish --tag=wxtool
config/wxtool.php ファイルがあります。
AppID と AppSecret の構成
ルート ディレクトリ.env ファイル
WX_APPID = 您的小程序小程序ID WX_SECRET = 您的小程序密钥
Public に次のコードを追加します。ストレージ アクセス ファイル (オプション)
パラメータを指定した アプレット コードを使用して 関数を生成する場合は、次のコマンドを実行する必要があります。生成されたアプレット コードは、デフォルトで storage/app/public/qrcode フォルダーに保存されます。
php artisan storage:link
<?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); } }
<?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); } }
復号化して返す結果
{ "openId": "OPENID", "nickName": "NICKNAME", "gender": GENDER, "city": "CITY", "province": "PROVINCE", "country": "COUNTRY", "avatarUrl": "AVATARURL", "unionId": "UNIONID", "watermark": { "appid":"APPID", "timestamp":TIMESTAMP } }
Laravel5.5 以降のマルチ環境 .env 構成の読み取り
以上がLaravel WeChat アプレットはユーザーの詳細を取得し、パラメータを使用してアプレット コード展開を分析しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。