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 上传文件类型判断函数(避免上传漏洞 )
Jun 08 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
Nov 07 PHP
php权重计算方法代码分享
Jan 09 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
yii的CURD操作实例详解
Dec 04 PHP
PHP实现从远程下载文件的方法
Mar 12 PHP
PHP对文件夹递归执行chmod命令的方法
Jun 19 PHP
PHP调试的强悍利器之PHPDBG
Feb 22 PHP
Zend Framework教程之Application用法实例详解
Mar 14 PHP
PHP基于curl post实现发送url及相关中文乱码问题解决方法
Nov 25 PHP
PHP微信网页授权的配置文件操作分析
May 29 PHP
PHP实现二维数组(或多维数组)转换成一维数组的常见方法总结
Dec 04 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页面间参数传递的四种方法详解
2013/06/09 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
PHP基于phpqrcode生成带LOGO图像的二维码实例
2015/07/10 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
php版微信公众平台接口开发之智能回复开发教程
2016/09/22 PHP
php中static和const关键字用法分析
2016/12/07 PHP
jQuery中next方法用法实例
2015/04/24 Javascript
jquery实现简洁文件上传表单样式
2015/11/02 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
js css+html实现简单的日历
2016/07/14 Javascript
浅谈JavaScript中面向对象的的深拷贝和浅拷贝
2016/08/01 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
微信小程序 获取二维码实例详解
2017/06/23 Javascript
Node 自动化部署的方法
2017/10/17 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
JavaScript的查询机制LHS和RHS解析
2019/08/16 Javascript
Quasar Input:type="number" 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
Vue中keep-alive的两种应用方式
2020/07/15 Javascript
vue中是怎样监听数组变化的
2020/10/24 Javascript
antd Form组件方法getFieldsValue获取自定义组件的值操作
2020/10/29 Javascript
python编码最佳实践之总结
2016/02/14 Python
Python利用flask sqlalchemy实现分页效果
2020/08/02 Python
高效测试用例组织算法pairwise之Python实现方法
2017/07/19 Python
微信小程序python用户认证的实现
2019/07/29 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
PyTorch 对应点相乘、矩阵相乘实例
2019/12/27 Python
Python包,__init__.py功能与用法分析
2020/01/07 Python
keras 获取某层输出 获取复用层的多次输出实例
2020/05/23 Python
Booking.com缤客中国:全球酒店在线预订网站
2020/05/03 全球购物
大学自我鉴定范文
2013/12/26 职场文书
农民入党思想汇报
2014/01/03 职场文书
秋季运动会稿件
2014/01/30 职场文书
学校推普周活动总结
2015/05/07 职场文书
酒桌上的祝酒词
2015/08/12 职场文书
python opencv通过4坐标剪裁图片
2021/06/05 Python