Yii使用EasyWechat實現(xiàn)小程序獲取用戶的openID的方法
一:安裝EasyWechat
EasyWechat文檔:https://www.easywechat.com/docs
在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' => [], // 用戶身份類參數(shù) 'sessionParam' => 'wechatUser', // 微信用戶信息將存儲在會話在這個密鑰 'returnUrlParam' => '_wechatReturnUrl', // returnUrl 存儲在會話中 'rebinds' => [ // 自定義服務(wù)模塊 ] ],
2:在config/params.php文件中添加(這里我只進行小程序的配置.其他配置可參考EasyWechat官網(wǎng))
// 微信小程序配置 'wechatMiniProgramConfig' => \[ 'app\_id' => 'XXXX', 'secret' => 'XXXX', // 下面為可選項 // 指定 API 調(diào)用返回結(jié)果的類型:array(default)/collection/object/raw/自定義類名 'response\_type' => 'array', //日志配置 'log' => \[ 'level' => 'debug', 'file' => dirname(dirname(\_\_DIR\_\_)) . '/api/runtime/wechat.log', \], \],
三:根據(jù)前端傳來的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) } } })
到此這篇關(guān)于Yii使用EasyWechat實現(xiàn)小程序獲取用戶的openID的方法的文章就介紹到這了,更多相關(guān)Yii 小程序獲取用戶的openID內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Laravel中ServiceProvider使用場景示例詳解
這篇文章主要為大家介紹了Laravel中ServiceProvider使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06Laravel5.1 框架數(shù)據(jù)庫操作DB運行原生SQL的方法分析
這篇文章主要介紹了Laravel5.1 框架數(shù)據(jù)庫操作DB運行原生SQL的方法,結(jié)合實例形式分析了laravel5.1使用DB運行原生SQL的相關(guān)操作技巧與注意事項,需要的朋友可以參考下2020-01-01ThinkPHP3.1新特性之動態(tài)設(shè)置自動完成和自動驗證示例
這篇文章主要介紹了ThinkPHP3.1動態(tài)設(shè)置自動完成和自動驗證,需要的朋友可以參考下2014-06-06發(fā)布一個用PHP fsockopen寫的HTTP下載的類
發(fā)布一個用PHP fsockopen寫的HTTP下載的類...2007-02-02