webman/push推送失败,websocket连接成功但是无法推送消息,提示调用trigger方法时返回false
这是改装后的方法
function sendSocketMessage($channels, $content, string $form = 'system')
{
try {
// 发送进入保留状态消息
$api = new Api(
'http://127.0.0.1:3232',
config('plugin.webman.push.app.app_key'),
config('plugin.webman.push.app.app_secret')
);
$a = $api->trigger($channels, 'message', [
'from_uid' => $form,
'content' => json_encode($content)
]);
dump($a);
return $a;
} catch (Exception $e) {
dump("推送失败" . $e->getMessage());
Log::error('sendSocketMessage', [$e->getMessage()]);
return false;
}
}
这是调用
```php
function reviewedRechargeMessage()
{
$subQuery = PlayerRechargeRecord::query()
->select(DB::raw('MAX(id) as id'))
->where('status', PlayerRechargeRecord::STATUS_RECHARGING)
->whereIn('type', [PlayerRechargeRecord::TYPE_REGULAR, PlayerRechargeRecord::TYPE_ACTIVITY, PlayerRechargeRecord::TYPE_ARTIFICIAL])
->groupBy('department_id');
/** @var PlayerRechargeRecord $playerRechargeRecord */
$playerRechargeRecordList = PlayerRechargeRecord::query()
->whereIn('id', $subQuery)
->get();
if (!empty($playerRechargeRecordList)) {
/** @var PlayerRechargeRecord $item */
foreach ($playerRechargeRecordList as $item) {
var_dump('private-admin_group-channel-' . $item->department_id);
sendSocketMessage('private-admin_group-channel-' . $item->department_id, [
'msg_type' => 'player_examine_recharge_order',
'id' => $item->id,
'player_id' => $item->player_id,
'player_name' => $item->player_name,
'player_phone' => $item->player_phone,
'money' => $item->money,
'status' => $item->status,
'tradeno' => $item->tradeno,
]);
}
}
}
#### 截图报错信息里报错文件相关代码

#### 操作系统及workerman/webman等框架组件具体版本
本地测试环境
WS_URL=ws://127.0.0.1:39494
检查一下 http服务(http://127.0.0.1:3232) 是否正常