服务器之家

服务器之家 > 正文

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

时间:2020-05-19 11:20     来源/作者:huaweichenai

一:安装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拓展

?
1
composer require jianyan74/yii2-easy-wechat

二:配置EasyWechat

1:在config/main.php 的 component中添加

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

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

?
1
2
3
4
5
6
7
8
9
10
11
12
13
// 微信小程序配置
'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

?
1
2
3
4
5
$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值

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

到此这篇关于Yii使用EasyWechat实现小程序获取用户的openID的方法的文章就介绍到这了,更多相关Yii 小程序获取用户的openID内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://segmentfault.com/a/1190000022029307

相关文章

热门资讯

歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
返回顶部