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 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
用session做客户验证时的注意事项
Oct 09 PHP
推荐一篇入门级的Class文章
Mar 19 PHP
判断PHP数组是否为空的代码
Sep 08 PHP
php中$_REQUEST、$_POST、$_GET的区别和联系小结
Nov 23 PHP
无JS,完全php面向过程数据分页实现代码
Aug 27 PHP
php链表用法实例分析
Jul 09 PHP
PHP邮件群发机实现代码
Feb 16 PHP
php中的异常和错误浅析
May 03 PHP
PHP分页显示的方法分析【附PHP通用分页类】
May 10 PHP
PHP通过curl获取接口URL的数据方法
May 31 PHP
PHP 自动加载类原理与用法实例分析
Apr 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加MYSQL服务器
2006/10/09 PHP
ZF等常用php框架中存在的问题
2008/01/10 PHP
header跳转和include包含问题详解
2012/09/08 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
Thinkphp和onethink实现微信支付插件
2016/04/13 PHP
PHP中递归的实现实例详解
2017/11/14 PHP
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
详解微信小程序用定时器实现倒计时效果
2019/04/30 Javascript
使用layer.msg 时间设置不起作用的解决方法
2019/09/12 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
js实现简易点击切换显示或隐藏
2020/11/29 Javascript
聊聊vue 中的v-on参数问题
2021/01/29 Vue.js
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
[42:27]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#2Fnatic VS OG第三局
2016/03/05 DOTA
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python实现dnspod自动更新dns解析的方法
2014/02/14 Python
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
python中map的基本用法示例
2018/09/10 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
Python Django切换MySQL数据库实例详解
2019/07/16 Python
python列表推导式操作解析
2019/11/26 Python
Python使用qrcode二维码库生成二维码方法详解
2020/02/17 Python
在python中求分布函数相关的包实例
2020/04/15 Python
Python学习之路之pycharm的第一个项目搭建过程
2020/06/18 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
柯基袜:Corgi Socks
2017/01/26 全球购物
如何写出高质量、高性能的MySQL查询
2014/11/17 面试题
会计职业生涯规划书
2014/01/13 职场文书
店长职务说明书
2014/02/04 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
世界水日宣传活动总结
2015/02/09 职场文书
Python中Matplotlib的点、线形状、颜色以及绘制散点图
2022/04/07 Python