您好,登錄后才能下訂單哦!
怎么在Yii中利用EasyWechat獲取小程序用戶的openID?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
一:安裝EasyWechat
在Yii使用EasyWechat,有兩個拓展可以使用,分別為jianyan74/yii2-easy-wechat 適用于 EasyWeChat 4.x,max-wen/yii2-easy-wechat 適用于 EasyWeChat 3.x,這里我是用的是jianyan74/yii2-easy-wechat拓展
composer require jianyan74/yii2-easy-wechat
二:配置EasyWechat
1:在config/main.php 的 component中添加
'wechat' => [ 'class' => 'jianyan\easywechat\Wechat', 'userOptions' => [], // 用戶身份類參數 'sessionParam' => 'wechatUser', // 微信用戶信息將存儲在會話在這個密鑰 'returnUrlParam' => '_wechatReturnUrl', // returnUrl 存儲在會話中 'rebinds' => [ // 自定義服務模塊 ] ],
2:在config/params.php文件中添加(這里我只進行小程序的配置.其他配置可參考EasyWechat官網)
// 微信小程序配置 'wechatMiniProgramConfig' => \[ 'app\_id' => 'XXXX', 'secret' => 'XXXX', // 下面為可選項 // 指定 API 調用返回結果的類型:array(default)/collection/object/raw/自定義類名 'response\_type' => 'array', //日志配置 'log' => \[ 'level' => 'debug', 'file' => dirname(dirname(\_\_DIR\_\_)) . '/api/runtime/wechat.log', \], \],
三:根據前端傳來的code獲取用戶的openID
$request = Yii::$app->getRequest(); $miniProgram = Yii::$app->wechat->miniProgram; $code2Session = $miniProgram->auth->session($request->post('code', '')); $openID = $code2Session\['openid'\];//用戶的openID $sessionKey = $code2Session\['session\_key'\];//session\_key
四:小程序端的code值獲取
在小程序端可以使用wx.login方法來獲取code值
wx.login({ success (res) { if (res.code) { //獲取code console.log(res.code) }) } else { console.log('登錄失敗!' + res.errMsg) } } })
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。