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导入Excel到MySQL的方法
Apr 23 PHP
php分页思路以及在ZF中的使用
May 30 PHP
在windows平台上构建自己的PHP实现方法(仅适用于php5.2)
Jul 05 PHP
浅析PHP中strlen和mb_strlen的区别
Aug 31 PHP
php使用pdo连接mssql server数据库实例
Dec 25 PHP
PHP+MySQL实现无极限分类栏目的方法
Dec 23 PHP
php结合web uploader插件实现分片上传文件
May 10 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
Jul 14 PHP
PHP基于Redis消息队列实现发布微博的方法
May 03 PHP
Laravel如何友好的修改.env配置文件详解
Jun 07 PHP
PHP实现的简单对称加密与解密方法实例小结
Aug 28 PHP
ThinkPHP5.1验证码功能实现的示例代码
Jun 08 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/11/12 PHP
PHP读取文件的常见几种方法
2016/11/03 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
人人网javascript面试题 可以提前实现下
2012/01/05 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
js判断选择的时间是否大于今天的代码
2013/08/20 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
js中把JSON字符串转换成JSON对象最好的方法
2014/03/21 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
AngularJs页面筛选标签小功能
2016/08/01 Javascript
信息滚动效果的实例讲解
2017/09/18 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
2018/01/23 jQuery
JavaScript页面倒计时功能完整示例
2019/05/15 Javascript
Vue + element 实现多选框组并保存已选id集合的示例代码
2020/06/03 Javascript
[34:44]Liquid vs TNC Supermajor 胜者组 BO3 第二场 6.4
2018/06/05 DOTA
使用python实现strcmp函数功能示例
2014/03/25 Python
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
python中list列表的高级函数
2016/05/17 Python
关于tf.TFRecordReader()函数的用法解析
2020/02/17 Python
opencv python在视屏上截图功能的实现
2020/03/05 Python
3D动画《斗罗大陆》上线当日播放过亿
2021/03/16 国漫
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
英国礼品和生活方式品牌:Treat Republic
2020/11/21 全球购物
Linux常见面试题
2016/10/04 面试题
生物技术专业毕业生求职信范文
2013/12/14 职场文书
2014年两会学习心得体会
2014/03/17 职场文书
个人银行贷款担保书
2014/04/01 职场文书
超市仓管员岗位职责
2014/04/07 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
学术研讨会欢迎词
2015/01/26 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
公司管理建议书
2015/09/14 职场文书
详解Python牛顿插值法
2021/05/11 Python
Python可视化学习之seaborn调色盘
2022/02/24 Python