Laravel使用easywechat对公众号事件进行处理, 一直提示出现故障的问题

1. 运行环境

DNMP

1). 当前使用的 Laravel 版本?

Laravel Framework 8.69.0

2). 当前使用的 php/php-fpm 版本?

PHP 版本:

PHP 7.4.26 (cli) (built: Nov 22 2021 09:48:15) ( NTS )

php-fpm 版本:

/php/7.4/fpm

3). 当前系统

Ubuntu 20.4

4). 业务环境

开发环境

2. 问题描述?

使用easyWechat处理扫码/关注事件, 一直提示 该公众号提供的服务出现故障, 请稍后再试, 但业务流程没有受到影响, 该走下一步还是下一步

3. 日志截图

Telescope下的request log

Laravel使用easywechat对公众号事件进行处理,  一直提示出现故障的问题

直接访问URL返回的内容

Laravel使用easywechat对公众号事件进行处理,  一直提示出现故障的问题

network返回的response

Laravel使用easywechat对公众号事件进行处理,  一直提示出现故障的问题

easyWechat自带的log

Laravel使用easywechat对公众号事件进行处理,  一直提示出现故障的问题

代码部分

public function valid()
{
  $app = $this->getOfficial();

  // 处理关注/扫码等事件
  $this->handleWxMsg($app);

  $response = $app->server->serve();
  // $response->send();
  return $response;
}
/// .....
protected function handleWxMsg($app)
{
  $app->server->push(function ($message)use($app){
  switch ($message['MsgType']) {
  // 事件消息
  case 'event':
 $this->handleWxEvent($message, $app);
  return null;
  case 'image':
 return "上传了一张图片";
  case 'voice':
 return "发了一条语音";
  case 'video':
 return "发了一条视频";
  case 'location':
 return "发了一条位置";
  case 'link':
 return "发了一条链接";
  case 'file':
 return "发了一条文件";
  case 'text':
  // $this->handleWxText($message, $app);
  default:
  // 其他例如发送文字, 图片等消息类型
   return "Hello, World";
  }
 });}

laravel日志中并没有任何报错, 我们做的是扫码关注公众号登录, 这个业务流程没有受到影响, 扫码之后还是直接登录了, 但是一直会提示出现故障

w_W_v_V
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
Cooper
最佳答案

是否有其他第三方授权

3年前 评论
w_W_v_V (楼主) 3年前
w_W_v_V (楼主) 3年前
讨论数量: 7
Cooper

是否有其他第三方授权

3年前 评论
w_W_v_V (楼主) 3年前
w_W_v_V (楼主) 3年前

注意路由配置的请求方式,

微信有些推送是 POST 方式,

还要注意在 CSRF 验证中间件中添加白名单。

3年前 评论
w_W_v_V (楼主) 3年前

在serve 前加上 ob_clean()

file

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!