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 文件上传进度条的两种实现方法的代码
Nov 25 PHP
ThinkPHP使用心得分享-ThinkPHP + Ajax 实现2级联动下拉菜单
May 15 PHP
图解找出PHP配置文件php.ini的路径的方法
Aug 20 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
Nov 08 PHP
PHP简单的MVC框架实现方法
Dec 01 PHP
Swoole-1.7.22 版本已发布,修复PHP7相关问题
Dec 31 PHP
php中this关键字用法分析
Dec 07 PHP
总结PHP内存释放以及垃圾回收
Mar 29 PHP
php原生数据库分页的代码实例
Feb 18 PHP
Laravel5.5 手动分页和自定义分页样式的简单实现
Oct 15 PHP
Laravel框架实现抢红包功能示例
Oct 31 PHP
宝塔面板出现“open_basedir restriction in effect. ”的解决方法
Mar 14 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获取本周,上周,本月,上月,本季度日期的代码
2009/08/05 PHP
php中url传递中文字符,特殊危险字符的解决方法
2013/08/17 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
PHP5.5新特性之yield理解与用法实例分析
2019/01/11 PHP
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
jQueryUI写一个调整分类的拖放效果实现代码
2012/05/10 Javascript
javascript实现简单的Map示例介绍
2013/12/23 Javascript
jquery获取当前元素索引值用法实例
2015/06/10 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
JQuery datepicker 用法详解
2015/12/25 Javascript
使用postMesssage()实现跨域iframe页面间的信息传递方法
2016/03/29 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
JavaScipt选取文档元素的方法(推荐)
2016/08/05 Javascript
借助node实战JSONP跨域实例
2017/03/30 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
Vue自定义指令详解
2017/07/28 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
使用Node搭建reactSSR服务端渲染架构
2018/08/30 Javascript
Electron 打包问题:electron-builder 下载各种依赖出错(推荐)
2020/07/09 Javascript
Python基于滑动平均思想实现缺失数据填充的方法
2019/02/21 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
将不规则的Python多维数组拉平到一维的方法实现
2021/01/11 Python
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
思想政治自我鉴定
2013/10/06 职场文书
行政助理岗位职责范文
2013/12/03 职场文书
《愚公移山》教学反思
2014/02/20 职场文书
学生会主席竞聘书
2014/03/31 职场文书
经济信息系毕业生自荐信
2014/06/02 职场文书
幼儿教师师德师风演讲稿
2014/08/22 职场文书
房屋出租委托书格式
2014/09/23 职场文书
官僚主义现象查摆问题整改措施
2014/10/04 职场文书
销售员岗位职责范本
2015/04/11 职场文书
【2·13】一图读懂中国无线电发展
2022/02/18 无线电
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python
深入理解pytorch库的dockerfile
2022/06/10 Python