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 相关文章推荐
javascript 小型动画组件与实现代码
Jun 02 PHP
批量修改RAR文件注释的php代码
Nov 20 PHP
PHP中simplexml_load_string函数使用说明
Jan 01 PHP
php学习之运算符相关概念
Jun 09 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
Jul 29 PHP
php中数字、字符与对象判断函数用法实例
Nov 26 PHP
PHP实现一维数组转二维数组的方法
Feb 25 PHP
php随机抽奖实例分析
Mar 04 PHP
php 无限分类 树形数据格式化代码
Oct 11 PHP
php使用GD2绘制几何图形示例
Feb 15 PHP
php+ajax实现异步上传文件或图片功能
Jul 18 PHP
Laravel find in set排序实例
Oct 09 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
java EJB 加密与解密原理的一个例子
2008/01/11 PHP
PHP 文件缓存的性能测试
2010/04/25 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
php格式化时间戳
2016/12/17 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
php的instanceof和判断闭包Closure操作示例
2020/01/26 PHP
十分钟打造AutoComplete自动完成效果代码
2009/12/26 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
2013/02/26 Javascript
js计算两个时间之间天数差的实例代码
2013/11/19 Javascript
深入理解Javascript动态方法调用与参数修改的问题
2013/12/10 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
详解Jquery的事件操作和文档操作
2016/12/19 Javascript
微信小程序左滑删除效果的实现代码
2017/02/20 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
node.js学习之断言assert的使用示例
2017/09/28 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
Javascript实现一朵从含苞到绽放的玫瑰
2019/03/30 Javascript
vue+layui实现select动态加载后台数据的例子
2019/09/20 Javascript
JS页面获取 session 值,作用域和闭包学习笔记
2019/10/16 Javascript
vue element table中自定义一些input的验证操作
2020/07/18 Javascript
Python设计模式之抽象工厂模式
2016/08/25 Python
python定时复制远程文件夹中所有文件
2019/04/30 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
迎接领导欢迎词
2014/01/11 职场文书
2015暑假社会调查报告
2015/07/13 职场文书
python 中yaml文件用法大全
2021/07/04 Python
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python