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


前言

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


composer require jianyan74/yii2-easy-wechat

github地址: github/jianyan74/yii2-easy-wechat

easywechat文档地址: easywechat/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使用Swoole实现毫秒级定时任务的方法

下一篇:有关PHP 中 config.m4 的探索


Copyright © 2002-2019 测速网 www.inhv.cn 皖ICP备2023010105号
测速城市 测速地区 测速街道 网速测试城市 网速测试地区 网速测试街道
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!

热门搜索 城市网站建设 地区网站制作 街道网页设计 大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器