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


Posted in PHP onApril 29, 2020

一:安装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内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
提升PHP执行速度全攻略
Oct 09 PHP
用PHP发电子邮件
Oct 09 PHP
php&java(三)
Oct 09 PHP
PHP中获取变量的变量名的一段代码的bug分析
Jul 07 PHP
php不用正则验证真假身份证
Nov 06 PHP
PHP中使用xmlreader读取xml数据示例
Dec 29 PHP
PHP制作万年历
Jan 07 PHP
PHP的APC模块实现上传进度条
Oct 27 PHP
PHP函数func_num_args用法实例分析
Dec 07 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
Jan 08 PHP
php使用number_format函数截取小数的方法分析
May 27 PHP
PHP设置Cookie的HTTPONLY属性方法
Feb 09 PHP
Thinkphp集成抖音SDK的实现方法
Apr 28 #PHP
PHP扩展类型及安装方式解析
Apr 27 #PHP
PHP如何开启Opcache功能提升程序处理效率
Apr 27 #PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
Apr 27 #PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
Apr 27 #PHP
Thinkphp 框架扩展之驱动扩展实例分析
Apr 27 #PHP
Thinkphp 框架扩展之应用模式实现方法分析
Apr 27 #PHP
You might like
php下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
windwos下使用php连接oracle数据库的过程分享
2014/05/26 PHP
一个PHP实现的轻量级简单爬虫
2015/07/08 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
javascript实现 在光标处插入指定内容
2007/05/25 Javascript
纯文字版返回顶端的js代码
2013/08/01 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
用html+css+js实现的一个简单的图片切换特效
2014/05/28 Javascript
js数组的五种迭代方法及两种归并方法(推荐)
2016/06/14 Javascript
Bootstrap零基础入门教程(二)
2016/07/18 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
Javascript的this用法
2017/01/16 Javascript
javascript防篡改对象实例详解
2017/04/10 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
Vue2 Vue-cli中使用Typescript的配置详解
2017/07/24 Javascript
koa2 从入门到精通(小结)
2019/07/23 Javascript
layui table数据修改的回显方法
2019/09/04 Javascript
[52:29]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#3Secret VS OG第三局
2016/03/03 DOTA
python使用matplotlib绘制柱状图教程
2017/02/08 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
django 框架实现的用户注册、登录、退出功能示例
2019/11/28 Python
CSS3实现滚动条动画效果代码分享
2016/08/03 HTML / CSS
Linux的主要特性
2014/10/06 面试题
英文版餐饮运营管理求职信
2013/11/06 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
解除劳动合同证明书
2014/09/26 职场文书
工厂标语大全
2014/10/06 职场文书
2014年社区妇联工作总结
2014/12/02 职场文书
幼儿园小班开学寄语
2015/05/27 职场文书
英雄儿女观后感
2015/06/09 职场文书
网吧管理制度范本
2015/08/05 职场文书
vue中this.$http.post()跨域和请求参数丢失的解决
2022/04/08 Vue.js
MySQL 数据表操作
2022/05/04 MySQL
Java异常体系非正常停止和分类
2022/06/14 Java/Android