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 相关文章推荐
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
Aug 02 PHP
使用PHPMyAdmin修复论坛数据库的图文方法
Jan 09 PHP
php tp验证表单与自动填充函数代码
Feb 22 PHP
php引用计数器进行垃圾收集机制介绍
Sep 19 PHP
PHP循环函数使用介绍之PHP基础入门教程
Sep 21 PHP
php curl_init函数用法
Jan 31 PHP
Codeigniter检测表单post数据的方法
Mar 21 PHP
php中smarty区域循环的方法
Jun 11 PHP
Yii 2.0自带的验证码使用经验分享
Jun 19 PHP
PHP使用pdo实现事务处理操作示例
Sep 05 PHP
php生成静态页面并实现预览功能
Jun 27 PHP
php swoft框架实例用法
Dec 22 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图片加中文水印实现代码分享
2012/10/31 PHP
基于PHP实现用户注册登录功能
2016/10/14 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
常用参考资料(手册)下载或者链接
2006/07/22 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
2012/01/20 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
js拖动div 当鼠标移动时整个div也相应的移动
2013/11/21 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
nodejs实现HTTPS发起POST请求
2015/04/23 NodeJs
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
JS遍历数组及打印数组实例分析
2016/01/21 Javascript
浅谈js函数的多种定义方法与区别
2016/11/29 Javascript
原生js实现淘宝购物车功能
2020/06/23 Javascript
微信小程序教程系列之新建页面(4)
2017/04/17 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
使用vue制作探探滑动堆叠组件的实例代码
2018/03/07 Javascript
Vue中的v-for循环key属性注意事项小结
2018/08/12 Javascript
layer.open 按钮的点击事件关闭方法
2018/08/17 Javascript
vue里input根据value改变背景色的实例
2018/09/29 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
使用Python下载歌词并嵌入歌曲文件中的实现代码
2015/11/13 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
给你选择Python语言实现机器学习算法的三大理由
2017/11/15 Python
在Mac上删除自己安装的Python方法
2018/10/29 Python
详解Django+Uwsgi+Nginx 实现生产环境部署
2018/11/06 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
解决Python在导入文件时的FileNotFoundError问题
2020/04/10 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
css3实现背景颜色渐变让图片不再是唯一的实现方式
2012/12/18 HTML / CSS
CSS3打造磨砂玻璃背景效果
2016/09/28 HTML / CSS
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
办公自动化专业大学生职业规划书
2014/03/06 职场文书
高中班主任工作总结(范文)
2019/08/20 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers