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 相关文章推荐
编译问题
Oct 09 PHP
php 进度条实现代码
Mar 10 PHP
php URL编码解码函数代码
Mar 10 PHP
一个简单且很好用的php分页类
Oct 26 PHP
一个简洁实用的PHP缓存类完整实例
Jul 26 PHP
php使用str_replace实现输入框回车替换br的方法
Nov 24 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
PHP面向对象详解(三)
Dec 07 PHP
yii2安装详细流程
May 23 PHP
Django 标签筛选的实现代码(一对多、多对多)
Sep 05 PHP
TP5框架实现上传多张图片的方法分析
Mar 29 PHP
eval(cmd)与eval($cmd)的区别与联系
Jul 07 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
现磨咖啡骗局!现磨咖啡=新鲜咖啡?现磨咖啡背后的猫腻你不懂!
2019/03/28 冲泡冲煮
PHP+javascript模拟Matrix画面
2006/10/09 PHP
怎样搭建PHP开发环境
2015/07/28 PHP
基于PHP制作验证码
2016/10/12 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
thinkphp利用模型通用数据编辑添加和删除的实例代码
2016/11/20 PHP
JavaScript 拖拉缩放效果
2008/12/10 Javascript
根据经纬度计算地球上两点之间的距离js实现代码
2013/03/05 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
jquery实现鼠标悬浮停止轮播特效
2020/08/20 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
2015/12/15 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
JS+Canvas实现的俄罗斯方块游戏完整实例
2016/12/12 Javascript
一道面试题引发的对javascript类型转换的思考
2017/03/06 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
js使用swiper实现层叠轮播效果实例代码
2018/12/12 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
python字典序问题实例
2014/09/26 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
Python多进程与服务器并发原理及用法实例分析
2018/08/21 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
Python中的特殊方法以及应用详解
2020/09/20 Python
python 模拟登陆163邮箱
2020/12/15 Python
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
澳大利亚Rockwear官网:女子瑜伽、健身和运动服
2021/01/26 全球购物
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/11/24 面试题
咖啡蛋糕店创业计划书
2014/01/28 职场文书
《我的伯父鲁迅先生》教学反思
2014/02/12 职场文书
2014年电话客服工作总结
2014/12/09 职场文书
2014年班级工作总结范文
2014/12/23 职场文书
建党伟业的观后感
2015/06/01 职场文书
2016党员三严三实心得体会
2016/01/15 职场文书
解除租赁合同协议书
2016/03/21 职场文书