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 08 PHP
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
Aug 31 PHP
PHP准确取得服务器IP地址的方法
Jun 02 PHP
thinkphp中字符截取函数msubstr()用法分析
Jan 09 PHP
PHP互换两个变量值的方法(不用第三变量)
Nov 14 PHP
php PDO实现的事务回滚示例
Mar 23 PHP
php封装一个异常的处理类
Jun 08 PHP
浅析PHP中的闭包和匿名函数
Dec 25 PHP
PHP设计模式之适配器模式原理与用法分析
Apr 25 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
Feb 28 PHP
浅谈laravel aliases别名的原理
Oct 24 PHP
TP5框架实现签到功能的方法分析
Apr 05 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
ThinkPHP实现分页功能
2017/04/28 PHP
Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法
2018/05/28 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
JavaScript 版本自动生成文章摘要
2008/07/23 Javascript
jQuery的deferred对象使用详解
2011/08/20 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
ExtJS4中使用mixins实现多继承示例
2013/12/03 Javascript
JQUERY dialog的用法详细解析
2013/12/19 Javascript
css如何让浮动元素水平居中
2015/08/07 Javascript
js实现仿微博滚动显示信息的效果
2015/12/21 Javascript
基于jquery编写的放大镜插件
2016/03/23 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
2016/04/01 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
浅析JS中常用类型转换及运算符表达式
2017/07/23 Javascript
详解使用 Node.js 开发简单的脚手架工具
2018/06/08 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
JS实现查找数组中对象的属性值是否存在示例
2019/05/24 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
关于layui flow loading占位图的实现方法
2019/09/21 Javascript
python实现在字符串中查找子字符串的方法
2015/07/11 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
Python魔法方法功能与用法简介
2019/04/04 Python
Python 中list ,set,dict的大规模查找效率对比详解
2019/10/11 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
深入理解Python 多线程
2020/06/16 Python
集团公司党的群众路线教育实践活动工作总结
2014/03/03 职场文书
企业安全生产责任书
2014/04/14 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
2019年圣诞节祝福语集锦
2019/12/25 职场文书
nginx共享内存的机制详解
2022/03/21 Servers
Python编写冷笑话生成器
2022/04/20 Python