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 09 PHP
PHP5 安装方法
Jan 15 PHP
discuz论坛 用户登录 后台程序代码
Nov 27 PHP
php中用数组的方法设置cookies
Apr 21 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
Jan 18 PHP
PHP递归删除多维数组中的某个值
Apr 17 PHP
PHP ADODB生成HTML表格函数rs2html功能【附错误处理函数用法】
May 29 PHP
thinkphp5框架扩展redis类方法示例
May 06 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
May 27 PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 PHP
PHP pthreads v3下worker和pool的使用方法示例
Feb 21 PHP
PHP使用PDO 连接与连接管理操作实例分析
Apr 21 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.ini中文版(2)
2006/10/09 PHP
PHP nl2br函数 将换行字符转成 <br>
2009/08/21 PHP
有关php运算符的知识大全
2011/11/03 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
php输出金字塔的2种实现方法
2014/12/16 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
Smarty模板配置实例简析
2019/07/20 PHP
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
jQuery ui插件的使用方法代码实例
2013/05/08 Javascript
JavaScript获取浏览器信息的方法
2015/11/20 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
JavaScript实现广告弹窗效果
2016/08/09 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
JS按条件 serialize() 对应标签的使用方法
2017/07/24 Javascript
JavaScript实现图片合成下载的示例
2020/11/19 Javascript
基于python编写的微博应用
2014/10/17 Python
Python轻量级ORM框架Peewee访问sqlite数据库的方法详解
2017/07/20 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
利用Python读取txt文档的方法讲解
2018/06/23 Python
Python unittest单元测试框架总结
2018/09/08 Python
python批量赋值操作实例
2018/10/22 Python
python3实现弹弹球小游戏
2019/11/25 Python
Python QT组件库qtwidgets的使用
2020/11/02 Python
python实现PolynomialFeatures多项式的方法
2021/01/06 Python
德国最新街头服饰网上商店:BODYCHECK
2019/09/15 全球购物
Java多态性的定义以及类型
2014/09/16 面试题
经管应届生求职信
2013/11/17 职场文书
自动化专业个人求职信范文
2013/11/29 职场文书
公司市场部岗位职责
2013/12/02 职场文书
一年级班主任寄语
2014/01/19 职场文书
煤矿安全演讲稿
2014/05/09 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书