1. 程式人生 > 程式設計 >Yii使用EasyWechat實現小程式獲取使用者的openID的方法

Yii使用EasyWechat實現小程式獲取使用者的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' => [],// 使用者身份類引數 
  '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) 
  } 
 } 
})

到此這篇關於Yii使用EasyWechat實現小程式獲取使用者的openID的方法的文章就介紹到這了,更多相關Yii 小程式獲取使用者的openID內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!