*/ public function broadcastOn(): array { return [new PresenceChannel("room.{$this->game->room_id}")]; } /** * 广播事件名(前端监听 .gomoku.invite)。 */ public function broadcastAs(): string { return 'gomoku.invite'; } /** * 广播数据。 * * @return array */ public function broadcastWith(): array { return [ 'game_id' => $this->game->id, 'inviter_name' => $this->inviterName, 'expires_at' => $this->game->invite_expires_at?->toIso8601String(), ]; } }