当前位置:首页 > CMS教程 > 其它CMS > 列表

Yii使用EasyWechat实现小程序获取用户的openID的方法

发布:smiling 来源: PHP粉丝网  添加日期:2022-03-03 10:52:01 浏览: 评论:0 

这篇文章主要介绍了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中添加

  1. 'wechat' => [  
  2.   'class' => 'jianyan\easywechat\Wechat',  
  3.   'userOptions' => [], // 用户身份类参数  
  4.   'sessionParam' => 'wechatUser'// 微信用户信息将存储在会话在这个密钥  
  5.   'returnUrlParam' => '_wechatReturnUrl'// returnUrl 存储在会话中  
  6.   'rebinds' => [ // 自定义服务模块  
  7.   ]  
  8. ],  

2:在config/params.php文件中添加(这里我只进行小程序的配置.其他配置可参考EasyWechat官网)。

  1. // 微信小程序配置  
  2. 'wechatMiniProgramConfig' => \[  
  3.   'app\_id' => 'XXXX',  
  4.   'secret' => 'XXXX',  
  5.   // 下面为可选项  
  6.   // 指定 API 调用返回结果的类型:array(default)/collection/object/raw/自定义类名  
  7.   'response\_type' => 'array',  
  8.   //日志配置  
  9.   'log' => \[  
  10.     'level' => 'debug',  
  11.     'file' => dirname(dirname(\_\_DIR\_\_)) . '/api/runtime/wechat.log',  
  12.   \],  
  13. \],  

三:根据前端传来的code获取用户的openID

  1. $request = Yii::$app->getRequest();  
  2. $miniProgram = Yii::$app->wechat->miniProgram;  
  3. $code2Session = $miniProgram->auth->session($request->post('code'''));  
  4. $openID = $code2Session\['openid'\];//用户的openID  
  5. $sessionKey = $code2Session\['session\_key'\];//session\_key  

四:小程序端的code值获取

在小程序端可以使用wx.login方法来获取code值

  1. wx.login({  
  2.  success (res) {  
  3.   if (res.code) {  
  4.    //获取code  
  5.    console.log(res.code)  
  6.    })  
  7.   } else {  
  8.    console.log('登录失败!' + res.errMsg)  
  9.   }  
  10.  }  
  11. })

Tags: EasyWechat openID

分享到: