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 相关文章推荐
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
Mar 13 PHP
php小技巧 把数组的键和值交换形成了新的数组,查找值取得键
Jun 02 PHP
php从右向左/从左向右截取字符串的实现方法
Nov 28 PHP
使用Appcan客户端自动更新PHP版本号(全)
Jul 31 PHP
CodeIgniter配置之SESSION用法实例分析
Jan 19 PHP
PHP简单获取及判断提交来源的方法
Apr 22 PHP
Yii中srbac权限扩展模块工作原理与用法分析
Jul 14 PHP
php实现单笔转账到支付宝功能
Oct 09 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
Nov 25 PHP
php使用redis的几种常见操作方式和用法示例
Feb 20 PHP
PHP7生产环境队列Beanstalkd用法详解
May 19 PHP
PHP反射基础知识回顾
Sep 10 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
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
2009/06/08 PHP
在Windows下编译适用于PHP 5.2.12及5.2.13的eAccelerator.dll(附下载)
2010/05/04 PHP
php获取后台Job管理的实现代码
2011/06/10 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
PHP PDOStatement::execute讲解
2019/01/31 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
Javascript计算两个marker之间的距离(Google Map V3)
2013/04/26 Javascript
node.js中的socket.io入门实例
2014/04/26 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
js动态生成Html元素实现Post操作(createElement)
2015/09/14 Javascript
js判断数组key是否存在(不用循环)的简单实例
2016/08/03 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
2016/09/19 Javascript
学习JavaScript图片预加载模块
2016/11/07 Javascript
微信小程序tabBar用法实例详解
2017/12/04 Javascript
vue动画之点击按钮往上渐渐显示出来的实例
2018/09/29 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
vue项目,代码提交至码云,iconfont的用法说明
2020/07/30 Javascript
[35:44]2014 DOTA2华西杯精英邀请赛 5 24 iG VS VG
2014/05/26 DOTA
python发布模块的步骤分享
2014/02/21 Python
Python 爬虫多线程详解及实例代码
2016/10/08 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
Python的地形三维可视化Matplotlib和gdal使用实例
2017/12/09 Python
python 读写excel文件操作示例【附源码下载】
2019/06/19 Python
详解如何在cmd命令窗口中搭建简单的python开发环境
2019/08/29 Python
用python介绍4种常用的单链表翻转的方法小结
2020/02/24 Python
Keras 数据增强ImageDataGenerator多输入多输出实例
2020/07/03 Python
贝嫂喜欢的婴儿品牌,个性化的婴儿礼物:My 1st Years
2017/11/19 全球购物
销售经理工作职责范文
2013/12/03 职场文书
刑事辩护授权委托书格式
2014/10/13 职场文书
故宫导游词
2015/01/31 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
中考百日冲刺决心书
2015/09/22 职场文书
最美劳动诗,致敬所有的劳动者!
2019/07/12 职场文书
Python中的xlrd模块使用整理
2021/06/15 Python
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技