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 相关文章推荐
一个取得文件扩展名的函数
Oct 09 PHP
PHP无限分类的类
Jan 02 PHP
PHP中查询SQL Server或Sybase时TEXT字段被截断的解决方法
Mar 10 PHP
探讨PHP JSON中文乱码的解决方法详解
Jun 06 PHP
php调用新浪短链接API的方法
Nov 08 PHP
php合并数组中相同元素的方法
Nov 13 PHP
php基础教程
Aug 26 PHP
PHP中抽象类、接口的区别与选择分析
Mar 29 PHP
PHP实现基于mysqli的Model基类完整实例
Apr 08 PHP
屏蔽PHP默认设置中的Notice警告的方法
May 20 PHP
php获取ajax的headers方法与内容实例
Dec 27 PHP
WordPress免插件实现面包屑导航的示例代码
Aug 20 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 增加了对 .ZIP 文件的读取功能
2006/10/09 PHP
深入了解php4(1)--回到未来
2006/10/09 PHP
深入PHP数据加密详解
2013/06/18 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
php删除数组指定元素实现代码
2017/05/03 PHP
javascript下阻止表单重复提交、防刷新、防后退
2007/08/17 Javascript
innerText和innerHTML 一些问题分析
2009/05/18 Javascript
在JavaScript中typeof的用途介绍
2013/04/11 Javascript
jquery操作checkbox示例分享
2014/07/21 Javascript
Javascript数组Array基础介绍
2016/03/13 Javascript
jQuery获取单击节点对象的方法
2016/06/02 Javascript
js数字计算 误差问题的快速解决方法
2017/02/28 Javascript
详解nodejs微信公众号开发——5.素材管理接口
2017/04/11 NodeJs
vue.js中过滤器的使用教程
2017/06/08 Javascript
前端构建工具之gulp的语法教程
2017/06/12 Javascript
AngularJS实现的select二级联动下拉菜单功能示例
2017/10/25 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
2019/02/28 Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
2019/03/29 Javascript
有趣的JavaScript隐式类型转换操作实例分析
2020/05/02 Javascript
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
使用python+whoosh实现全文检索
2019/12/09 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
2020/03/06 Python
Python使用pyyaml模块处理yaml数据
2020/04/14 Python
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
日本最大美瞳直送网:Morecontact(中文)
2019/04/03 全球购物
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
Ruby如何创建一个线程
2013/03/10 面试题
医学生实习自我鉴定
2013/09/27 职场文书
校园安全演讲稿
2014/05/09 职场文书
道德演讲稿
2014/05/21 职场文书
大学生入党积极分子自我评价
2014/09/20 职场文书
井冈山红色之旅心得体会
2014/10/07 职场文书
2014年基建工作总结
2014/12/12 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python
MySQL子查询中order by不生效问题的解决方法
2021/08/02 MySQL
js不常见操作运算符总结
2021/11/20 Javascript