Yii实现微信公众号场景二维码的方法实例


Posted in PHP onAugust 30, 2020

前言

在Yii中实现场景二维码这里我使用的是easywechat插件,安装easywechat插件

composer require jianyan74/yii2-easy-wechat

github地址: https://github.com/jianyan74/yii2-easy-wechat

easywechat文档地址: https://www.easywechat.com/docs/master/overview

生成场景二维码前提:

微信的场景二维码功能主要是生成一个微信二维码,然后在手机使用微信扫描此二维码时,会触发微信通知,所以我们在生成场景二维码之前进行微信的服务端验证

1:服务端验证

$app = Yii::$app->wechat->getApp(); 
$server = $app->server; 
$response = $server->serve(); 
$response->send(); 
exit();

服务端验证代码完成之后在微信公众号进行服务端验证即可

2:生成场景二维码

$app = Yii::$app->wechat->getApp();
$app->server->push(function ($message) use ($app) {
 switch ($message['MsgType']){
  case 'event':
  //扫码事件:SCAN 订阅事件:subscribe
   if (isset($message['Event']) && ($message['Event'] == 'SCAN' || $message['Event'] == 'subscribe')) {
    $openId = $message['FromUserName'];//扫面用户的openID
    //获取参数
    if ($message['Event'] == 'SCAN') {
     $code= $message['EventKey'];
    } else {
     $code= str_replace('qrscene_', '', $message['EventKey']);
    }
   //发送图文消息
    $items = [
     new NewsItem([
      'title'=> '图文标题',
      'description' => '图文描述',
      'url' => '图文链接',
      'image'=> '图文图片,
     ]),
    ];
    return new News($items);
   }
   break;
  default:
   break;
 }
});
$server = $app->server;
$response = $server->serve();
$response->send();
exit();

根据如上就可以实现场景二维码

总结

到此这篇关于Yii实现微信公众号场景二维码的文章就介绍到这了,更多相关Yii实现微信公众号场景二维码内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
最令PHP初学者头痛的十四个问题
Jul 12 PHP
PHP 木马攻击防御技巧
Jun 13 PHP
PHP 读取和修改大文件的某行内容的代码
Oct 30 PHP
php的字符串用法小结
Jun 08 PHP
浅析SVN常见问题及解决方法
Jun 21 PHP
解析mysql 表中的碎片产生原因以及清理
Jun 22 PHP
php对数组排序代码分享
Feb 24 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
Mar 11 PHP
自编函数解决pathinfo()函数处理中文问题
Nov 03 PHP
四个常见html网页乱码问题及解决办法
Sep 08 PHP
php将数组存储为文本文件方法汇总
Oct 28 PHP
Yii框架中用response保存cookie,用request读取cookie的原理解析
Sep 04 PHP
Swoole源码中如何查询Websocket的连接问题详解
Aug 30 #PHP
PHP常用header头定义代码示例汇总
Aug 29 #PHP
PHP isset()及empty()用法区别详解
Aug 29 #PHP
PHP实现简单日历类编写
Aug 28 #PHP
PHP实现文件上传与下载
Aug 28 #PHP
PHP实现计算器小功能
Aug 28 #PHP
PHP实现简易图形计算器
Aug 28 #PHP
You might like
php打开文件fopen函数的使用说明
2013/07/05 PHP
使用php实现从身份证中提取生日
2016/05/09 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
2018/09/07 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
javascript下过滤数组重复值的代码
2007/09/10 Javascript
JavaScript Object的extend是一个常用的功能
2009/12/02 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
javascripit实现密码强度检测代码分享
2013/12/12 Javascript
原生js实现淘宝首页点击按钮缓慢回到顶部效果
2014/04/06 Javascript
浅析ES6的八进制与二进制整数字面量
2016/08/30 Javascript
jQuery实现页面顶部下拉广告
2016/12/30 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
Vue数据驱动表单渲染,轻松搞定form表单
2019/07/19 Javascript
详解ES6中class的实现原理
2020/10/03 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
[01:01]2020完美高校联赛(秋)西安落幕
2021/03/11 DOTA
python 随机数生成的代码的详细分析
2011/05/15 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
python实现用于测试网站访问速率的方法
2015/05/26 Python
Python使用xlwt模块操作Excel的方法详解
2018/03/27 Python
python如何求解两数的最大公约数
2018/09/27 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
2020/11/25 Python
利用python查看数组中的所有元素是否相同
2021/01/08 Python
python pillow库的基础使用教程
2021/01/13 Python
10个顶级Python实用库推荐
2021/03/04 Python
利用css3如何设置没有上下边的列表间隔线
2017/07/03 HTML / CSS
英国户外玩具儿童游乐设备网站:TP Toys(蹦床、攀爬框架、秋千、滑梯和游戏屋)
2018/04/09 全球购物
关爱女孩行动实施方案
2014/03/13 职场文书
民事诉讼代理授权委托书范本
2014/10/08 职场文书
房地产销售主管岗位职责
2015/02/13 职场文书
简单了解 MySQL 中相关的锁
2021/05/25 MySQL