這篇文章主要介紹了關於Laravel小程式擷取使用者詳細資料及帶參數小程式碼擴充的分析 ,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
功能介紹
本擴充包包含使用者詳細資料解密、帶參數小程式碼產生並儲存在本地目錄功能。
使用者詳細資料解密官方也提供多種語言版本SDK(C++、PHP、Node、Python),在本擴充包中僅僅做封裝處理。
帶參數小程式碼產生,官方給出三種介面,在此擴充包中採用
介面B (適用於需要的碼數量極多的業務情境,通過該介面產生的小程式碼,永久有效,數量暫無限制)。
項目地址
https://github.com/icharle/Wxtool
使用方法
運行以下命令以擷取最新版本:
composer require icharle/wxtool 1.0
將服務提供者添加到設定檔中的providers
數組中config/app.php
,如下所示:
'providers' => [ ... Icharle\Wxtool\WxtoolServiceProvider::class,]
發行設定檔
php artisan vendor:publish --tag=wxtool
此時有一個config/wxtool.php
檔案。
配置AppID及AppSecret
在根目錄.env
檔案中添加如下代碼
WX_APPID = 您的小程式小程式IDWX_SECRET = 您的小程式密鑰
公開storage訪問檔案(可選)
若要使用 帶參數小程式碼產生 功能時必須執行下面命令。產生的小程式碼預設儲存在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 } }
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!