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 10 PHP
pdo中使用参数化查询sql
Aug 11 PHP
php实现简单洗牌算法
Jun 18 PHP
利用curl抓取远程页面内容的示例代码
Jul 23 PHP
php广告加载类用法实例
Sep 23 PHP
PHP动态编译出现Cannot find autoconf的解决方法
Nov 05 PHP
用php来限制每个ip每天浏览页面数量的实现思路
Feb 24 PHP
8个必备的PHP功能开发
Oct 02 PHP
Symfony2安装第三方Bundles实例详解
Feb 04 PHP
关于php中一些字符串总结
May 05 PHP
php正确输出json数据的实例讲解
Aug 21 PHP
php 中htmlentities导致中文无法查询问题
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
一步一步学习PHP(7) php 字符串相关应用
2010/03/05 PHP
在PHP中使用反射技术的架构插件使用说明
2010/05/18 PHP
php park、unpark、ord 函数使用方法(二进制流接口应用实例)
2010/10/19 PHP
分享50个提高PHP执行效率的技巧
2015/12/26 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
php常用字符串查找函数strstr()与strpos()实例分析
2019/06/21 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
javascript的解析执行顺序在各个浏览器中的不同
2014/03/17 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
JavaScript通过join函数连接数组里所有元素的方法
2015/03/20 Javascript
JavaScript实现字符串与日期的互相转换及日期的格式化
2016/03/07 Javascript
JavaScript几种数组去掉重复值的方法推荐
2016/04/12 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
js实现省份下拉菜单效果
2017/02/15 Javascript
详解vue2.0脚手架的webpack 配置文件分析
2017/05/27 Javascript
vue 打包后的文件部署到express服务器上的方法
2017/08/09 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
详解vue移动端项目的适配(以mint-ui为例)
2018/08/17 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
Vue extend的基本用法(实例详解)
2019/12/09 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
[55:16]Mski vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
轻量级的Web框架Flask 中模块化应用的实现
2017/09/11 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
Python环境搭建过程从安装到Hello World
2021/02/05 Python
matplotlib部件之套索Lasso的使用
2021/02/24 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
Halston Heritage官网:简洁的日装,稍显奢华的晚装
2018/11/20 全球购物
《猴子种果树》教学反思
2014/04/26 职场文书
2014幼儿园教师个人工作总结
2014/11/08 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js
python中opencv实现图片文本倾斜校正
2021/06/11 Python