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#
直接访问 URL 返回的内容#
network 返回的 response#
easyWechat 自带的 log#
代码部分#
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 日志中并没有任何报错,我们做的是扫码关注公众号登录,这个业务流程没有受到影响,扫码之后还是直接登录了,但是一直会提示出现故障
推荐文章: