diff --git a/app/Http/Controllers/AdminCommandController.php b/app/Http/Controllers/AdminCommandController.php index 62a6639..e85f8dc 100644 --- a/app/Http/Controllers/AdminCommandController.php +++ b/app/Http/Controllers/AdminCommandController.php @@ -524,6 +524,13 @@ class AdminCommandController extends Controller 'font_color' => '#b91c1c', 'action' => '', 'sent_at' => now()->toDateTimeString(), + 'toast_notification' => [ + 'title' => '📢 公屏公告', + 'message' => strip_tags($content), + 'icon' => '📢', + 'color' => '#b91c1c', + 'duration' => 10000, + ], ]; $this->chatState->pushMessage($roomId, $msg); broadcast(new MessageSent($roomId, $msg)); diff --git a/resources/js/chat-room/chat-events.js b/resources/js/chat-room/chat-events.js index 6ce077a..73644df 100644 --- a/resources/js/chat-room/chat-events.js +++ b/resources/js/chat-room/chat-events.js @@ -370,8 +370,8 @@ export function bindChatEvents() { window.showVipPresenceBanner(msg); } - // 若消息携带 toast_notification 字段且当前用户是接收者,弹右下角小卡片 - if (msg.toast_notification && msg.to_user === window.chatContext?.username) { + // 若消息携带 toast_notification 字段且当前用户是接收者或为公屏广播,弹右下角小卡片 + if (msg.toast_notification && (msg.to_user === window.chatContext?.username || msg.to_user === '大家')) { const t = msg.toast_notification; window.chatToast?.show({ title: t.title || "通知",