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 相关文章推荐
怎样在UNIX系统下安装php3
Oct 09 PHP
php中将html中的br换行符转换为文本输入中的换行符
Mar 26 PHP
php实现递归的三种基本方式
Jul 04 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
Dec 22 PHP
PHP模板引擎Smarty中变量的使用方法示例
Apr 11 PHP
YII视图整合kindeditor扩展的方法
Jul 13 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
Sep 21 PHP
给大家分享几个常用的PHP函数
Jan 15 PHP
php的常量和变量实例详解
Jun 27 PHP
PHP 进度条函数的简单实例
Sep 19 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 09 PHP
Laravel 连接(Join)示例
Oct 16 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
codeigniter上传图片不能正确识别图片类型问题解决方法
2014/07/25 PHP
php生成固定长度纯数字编码的方法
2015/07/09 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
2015/10/22 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
PHP实现求两个字符串最长公共子串的方法示例
2017/11/17 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
详解CSS样式中的 !important * _ 符号
2021/03/09 HTML / CSS
Open and Print a Word Document
2007/06/15 Javascript
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
javascript中数组的冒泡排序使用示例
2013/12/18 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
node.js文件上传处理示例
2016/10/27 Javascript
iview给radio按钮组件加点击事件的实例
2017/09/30 Javascript
webpack+vuex+axios 跨域请求数据的示例代码
2018/03/06 Javascript
15个顶级开源JavaScript框架和库
2018/10/10 Javascript
javascript对HTML字符转义与反转义
2018/12/13 Javascript
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
vue实现购物车案例
2020/05/30 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
python装饰器使用方法实例
2013/11/21 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
创建Django项目图文实例详解
2019/06/06 Python
python随机数分布random均匀分布实例
2019/11/27 Python
python中的 zip函数详解及用法举例
2020/02/16 Python
Pycharm配置PyQt5环境的教程
2020/04/02 Python
Python中内建模块collections如何使用
2020/05/27 Python
毕业生的自我鉴定
2013/10/29 职场文书
七年级历史教学反思
2014/02/05 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
2014年财政工作总结
2014/12/10 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
python必学知识之文件操作(建议收藏)
2021/05/30 Python
Java各种比较对象的方式的对比总结
2021/06/20 Java/Android