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 session处理的定制
Mar 16 PHP
PHP+ACCESS 文章管理程序代码
Jun 21 PHP
PHP应用JSON技巧讲解
Feb 03 PHP
php获取表单中多个同名input元素的值
Mar 20 PHP
分享3个php获取日历的函数
Sep 25 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
Sep 30 PHP
yii2-GridView在开发中常用的功能及技巧总结
Jan 07 PHP
PHP最常用的正则表达式
Feb 13 PHP
PHP机器学习库php-ml的简单测试和使用方法
Jul 14 PHP
PHP共享内存使用与信号控制实例分析
May 09 PHP
tp5实现微信小程序多图片上传到服务器功能
Jul 16 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
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
Laravel find in set排序实例
2019/10/09 PHP
Javascript实现关联数据(Linked Data)查询及注意细节
2013/02/22 Javascript
浅谈关于JavaScript的语言特性分析
2013/04/11 Javascript
实用的Jquery选项卡TAB示例代码
2013/08/28 Javascript
jquery.ajax的url中传递中文乱码问题的解决方法
2014/02/07 Javascript
js截取中英文字符串、标点符号无乱码示例解读
2014/04/17 Javascript
AngularJs解决跨域问题案例详解(简单方法)
2016/05/19 Javascript
Node.js的Koa框架上手及MySQL操作指南
2016/06/13 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
javascript简单进制转换实现方法
2016/11/24 Javascript
AngularJS打开页面隐藏显示表达式用法示例
2016/12/25 Javascript
原生JS轮播图插件
2017/02/09 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
2017/09/11 jQuery
vue2组件之select2调用的示例代码
2017/10/12 Javascript
Angular实现双向折叠列表组件的示例代码
2017/11/21 Javascript
vue兄弟组件传递数据的实例
2018/09/06 Javascript
灵活使用console让js调试更简单的方法步骤
2019/04/23 Javascript
ES6 Symbol数据类型的应用实例分析
2019/06/26 Javascript
javascript实现简单打字游戏
2019/10/29 Javascript
JavaScript setInterval()与setTimeout()计时器
2019/12/27 Javascript
Python文件和流(实例讲解)
2017/09/12 Python
python找出完数的方法
2018/11/12 Python
python绘制漏斗图步骤详解
2019/03/04 Python
PyCharm最新激活码(2020/10/27全网最新)
2020/10/27 Python
Numpy中的数组搜索中np.where方法详细介绍
2021/01/08 Python
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
运动会通讯稿300字
2014/02/02 职场文书
元旦活动感言
2014/03/08 职场文书
优秀毕业生的求职信
2014/07/21 职场文书
租房协议书范例
2014/10/14 职场文书
农民工工资承诺书大全
2015/05/04 职场文书
2015初一年级组工作总结
2015/07/24 职场文书
浅谈Redis在直播场景的实践方案
2021/04/27 Redis
python析构函数用法及注意事项
2021/06/22 Python
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL