refactor: 将广播事件改为异步队列并增强索引检查兼容性

This commit is contained in:
2026-06-10 13:58:16 +08:00
parent 1948b10fe6
commit c887c4e146
11 changed files with 134 additions and 27 deletions

View File

@@ -6,7 +6,7 @@ use Illuminate\Broadcasting\Channel;
use Illuminate\Queue\SerializesModels;
use Illuminate\Foundation\Events\Dispatchable;
use Illuminate\Broadcasting\InteractsWithSockets;
use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
/**
* 界面文档 §2.1`balance.update` —— 钱包余额变动推送。
@@ -14,10 +14,19 @@ use Illuminate\Contracts\Broadcasting\ShouldBroadcastNow;
* 触发时机:转入/转出/下注/派彩等导致余额变动时。
* 前端处理:更新余额显示 + Toast 提示。
*/
final class BalanceUpdateBroadcast implements ShouldBroadcastNow
final class BalanceUpdateBroadcast implements ShouldBroadcast
{
use Dispatchable, InteractsWithSockets, SerializesModels;
/** 异步广播队列 */
public string $queue = 'broadcasts';
/** 最多重试 3 次 */
public int $tries = 3;
/** 单任务超时 10 秒 */
public int $timeout = 10;
/**
* @param int $playerId 玩家 ID用于频道隔离
* @param string $currencyCode 币种代码