From 867698a696d8611e43aaf9e67286f07af7f4fa4a Mon Sep 17 00:00:00 2001 From: shy3130 <415333856@qq.com> Date: Mon, 17 Aug 2026 13:19:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(monitor):=20=E9=80=9A=E7=9F=A5=E8=BF=9B?= =?UTF-8?q?=E5=85=A5/=E7=A7=BB=E5=87=BA=E9=85=8D=E8=89=B2=E5=AF=B9?= =?UTF-8?q?=E9=BD=90=20A=20=E8=82=A1=E7=BA=A2=E6=B6=A8=E7=BB=BF=E8=B7=8C?= =?UTF-8?q?=E6=83=AF=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原配色: 进入=绿(emerald)/移出=黄(warning)+列表里移出=红, 语义反直觉。 调整为 进入=红(text-danger)/移出=绿(text-bear), 与买入/卖出、涨跌幅 配色语义一致 (红=正向, 绿=负向)。 - strategyMonitorEvents.ts META: 事件动作短语配色中心定义, 弹窗/监控页/ 看板/语音播报四处共用, 一处修改全局生效 - AlertToast.tsx SOURCE_BADGE: 弹窗顶部"进入/移出"角标同步换色 - Monitor.tsx renderMessage: 正则补"进入"分支 (原只匹配 新入选|移出, 实际通知文案是"策略「X」进入选股结果…", 进入消息从未着色) + 换色 验证: tsc 通过; 实测监控中心页面 getComputedStyle — 进入选股结果 rgb(242,76,64)/红, 移出选股结果 rgb(38,192,120)/绿。 --- frontend/src/components/AlertToast.tsx | 8 ++++---- frontend/src/lib/strategyMonitorEvents.ts | 8 ++++---- frontend/src/pages/Monitor.tsx | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/AlertToast.tsx b/frontend/src/components/AlertToast.tsx index 86be136..4a0a4c6 100644 --- a/frontend/src/components/AlertToast.tsx +++ b/frontend/src/components/AlertToast.tsx @@ -89,12 +89,12 @@ const SOURCE_BADGE: Record = { price: { label: '价格', cls: 'bg-emerald-400/15 text-emerald-400' }, market: { label: '异动', cls: 'bg-purple-500/15 text-purple-400' }, sector: { label: '板块', cls: 'bg-cyan-500/15 text-cyan-700 dark:text-cyan-300' }, - pool_entry: { label: '进入', cls: 'bg-emerald-400/15 text-emerald-400' }, - pool_exit: { label: '移出', cls: 'bg-warning/15 text-warning' }, + pool_entry: { label: '进入', cls: 'bg-danger/15 text-danger' }, + pool_exit: { label: '移出', cls: 'bg-bear/15 text-bear' }, buy_signal: { label: '买入', cls: 'bg-danger/15 text-danger' }, sell_signal: { label: '卖出', cls: 'bg-bear/15 text-bear' }, - new_entry: { label: '进入', cls: 'bg-emerald-400/15 text-emerald-400' }, - dropped: { label: '移出', cls: 'bg-warning/15 text-warning' }, + new_entry: { label: '进入', cls: 'bg-danger/15 text-danger' }, + dropped: { label: '移出', cls: 'bg-bear/15 text-bear' }, } // ===== 容器 — 挂在 Layout ===== diff --git a/frontend/src/lib/strategyMonitorEvents.ts b/frontend/src/lib/strategyMonitorEvents.ts index db960e6..e2f9bfd 100644 --- a/frontend/src/lib/strategyMonitorEvents.ts +++ b/frontend/src/lib/strategyMonitorEvents.ts @@ -20,22 +20,22 @@ const META: Record = { pool_entry: { label: '进入', action: '进入选股结果', - className: 'text-emerald-400', + className: 'text-danger', }, pool_exit: { label: '移出', action: '移出选股结果', - className: 'text-warning', + className: 'text-bear', }, new_entry: { label: '进入', action: '进入选股结果', - className: 'text-emerald-400', + className: 'text-danger', }, dropped: { label: '移出', action: '移出选股结果', - className: 'text-warning', + className: 'text-bear', }, } diff --git a/frontend/src/pages/Monitor.tsx b/frontend/src/pages/Monitor.tsx index ee0b744..69a4cf2 100644 --- a/frontend/src/pages/Monitor.tsx +++ b/frontend/src/pages/Monitor.tsx @@ -39,13 +39,13 @@ const SOURCE_BADGE_STYLE: Record = { } /** - * 渲染策略类消息 — 策略名黄色、新入选绿、移出红、其余白色。 + * 渲染策略类消息 — 策略名黄色、进入红/移出绿 (A 股红涨绿跌惯例)、其余白色。 */ function renderMessage(source: string, message: string) { if (source !== 'strategy') { return {message} } - const m = message.match(/^(策略「)([^」]+)(」)(新入选|移出)( .*)$/) + const m = message.match(/^(策略「)([^」]+)(」)(新入选|进入|移出)( .*)$/) if (!m) return {message} const [, pre, strategyName, mid, direction, post] = m return ( @@ -53,7 +53,7 @@ function renderMessage(source: string, message: string) { {pre} {strategyName} {mid} - {direction} + {direction} {post} )