A-03 Admin Message Center
內容依原始規格呈現 · 查看 Markdown 來源 ↗需具備倉庫查看權限
🎨 Figma: node-698-2187 🔗
管理員訊息中心
🎯 功能定位
使用者: 所有管理員 (Admin / Super Admin)
核心交互邏輯:
- 表格化呈現: 所有訊息按時間倒序排列,類別與指標一目瞭然。
- 分類過濾: 透過頂部 Tab 快速切換 System、Academic、Operations、Security 或 Import 訊息。
- 即時清理 (Dismiss): 每一行訊息右側提供 [X] 按鈕,點擊後該條訊息從列表中「消失」(隱藏或標記為已處理)。
- 視覺預警: 高風險訊息(如 [!!])整行或指標數值以紅色標註。
🧱 畫面結構
| 區域 | 說明 |
|---|---|
| Header | Logo、搜尋框、訊息中心圖標 [🔔 5]、用戶選單 [👤 Admin] |
| Sidebar | 深色側邊欄,含 Dashboard、Users、Classes、Courses、Rules、Version、Monitor、Analytics 導航 |
| Filter & Bulk Actions | 頂部過濾欄:[All] [⚙️ System] [📚 Academic] [👥 Operations] [🔒 Security] [📥 Import] 分類 Tab + [Clear All Messages] 按鈕 |
| Message Table | 主要內容區:Status、Category、Message Detail、Indicators、Time、Dismiss [X] |
📦 區塊說明
| # | 區塊 | 元件 | 行為/交互 | 備註 |
|---|---|---|---|---|
| 1 | Filter Tabs | Category Tab Buttons | 切換 System / Academic / Operations / Security / Import 過濾 | 聯動下方表格 |
| 2 | Bulk Clear | [Clear All Messages] Button | 清空當前分類下所有非 [!!] 訊息 | 需二次確認 |
| 3 | Message Table | Data Table with Status Icons | 顯示訊息列表,支援分頁 | 按時間倒序排列 |
| 4 | Message Detail | Clickable Link Text | 點擊穿透至對應管理頁面 | 如 API Latency → 系統監控 |
| 5 | Dismiss Action | [X] Button | 逐條清除訊息,伴隨淡出動畫 | 支援 Undo (Toast 提示) |
📋 訊息分類與指標
⚙️ System — 基礎設施健康
全平台共享的系統層級監控。
| 指標名稱 | 種類 | 觸發閾值 (Trigger) | 顯示數據 (Indicator) |
|---|---|---|---|
| API Latency | 效能 | 平均延遲 > 800ms 且持續 5 分鐘 | 當前延遲 (ms)、受影響區域 (Zone) |
| Server Load | 硬體 | CPU 或 RAM 使用率 > 90% | 使用率 (%)、節點名稱 (Node ID) |
| Error Rate (5xx) | 穩定性 | 系統報錯率 > 2% | 報錯總數、主要報錯類型 |
| Service Down | 故障 | 核心服務 (如 Database/AI) 離線 | 離線服務名稱、發生時間 |
| Peak Traffic | 負載 | 同時在線人數 (CCU) 接近系統上限 | 當前人數、負載比例 |
Peak Traffic 原屬於 Zone Alerts,但 CCU 上限是全平台共享的基礎設施限制,非單一 Zone 問題,因此移入 System。
📚 Academic — 教學營運預警
跨校區的教學質量與學習行為異常。
| 指標名稱 | 種類 | 觸發閾值 (Trigger) | 顯示數據 (Indicator) |
|---|---|---|---|
| DAU Drop | 營運 | 該區 Active Users 較昨日下滑 > 30%(參數:alert_dau_drop_threshold,見 09-規則配置.md §7) | 下滑百分比、當前活躍人數 |
| Error Spike | 質量 | 全區平均 Error Rate 超過 40%(參數:alert_error_spike_threshold,見 09-規則配置.md §7) | 異常 Level 範圍、高頻錯誤單詞 |
| T-01 Alert Escalated 🆕 | 教學 | T-01 教師端 Alert 2/3/4 (Critical) 觸發後自動推送。Alert 觸發閾值由伺服器端統一配置(09-規則配置.md §7) | Alert 類型、觸發班級、受影響學生數 |
| Exam Fail Spike 🆕 | 檢定 | 全區 / 全 Zone 的 Trophy Fail Rate 異常升高(較前次 > 30%) | Fail Rate、異常 Zone、受影響學生數 |
👥 Operations — 行政操作記錄
管理員發起的重要行政操作,屬於 FYI 性質的通知(非緊急告警)。
| 指標名稱 | 種類 | 觸發閾值 (Trigger) | 顯示數據 (Indicator) |
|---|---|---|---|
| Zone Status Change | 行政 | 校區被手動 Disable 或 Enable | 校區名稱、執行人、生效時間 |
| Broadcast Sent 🆕 | 通知 | A-91 管理員發送 Broadcast(成功 / 失敗) | 目標類型 (Admin/Teacher/Student)、發送數、成功數、失敗原因 |
| Batch Grade+1 🆕 | 管理 | Super Admin 執行批量升年級(A-12) | 操作人、受影響學生數、目標 Grade |
| Bulk User Import | 進度 | 批次導入學生/老師 CSV 完畢(A-12-A) | 成功筆數、失敗筆數、匯入區域。導入失敗時是否觸發通知由伺服器端 alert_import_failure_notify 控制(09-規則配置.md §7) |
🔒 Security — 安全與審計
涉及系統安全與權限變更,需完整記錄且不可 Dismiss(或需更高權限才可 Dismiss)。Security 訊息保留天數由伺服器端參數 alert_security_retention_days 控制(見 09-規則配置.md §7),逾期自動歸檔但不刪除。
| 指標名稱 | 種類 | 觸發閾值 (Trigger) | 顯示數據 (Indicator) |
|---|---|---|---|
| Brute Force | 安全 | 單一 IP 連續登入失敗 > 10 次 | 來源 IP、受攻擊帳號 |
| Privilege Change | 審計 | 系統規則 (Rules) 被修改 或 新管理員被創建 | 修改項目 / 新管理員 Email、執行人 |
| 2FA Failures | 安全 | 大量 Email 驗證碼嘗試失敗 | 失敗次數、涉及區域 |
Admin Created 原屬於 Admin Ops,因其涉及權限變更的審計性質,合併至 Security 的 Privilege Change。
📥 Import — 數據導入結果
集中管理所有導入操作(內容、考試)的結果通知。
| 指標名稱 | 種類 | 觸發閾值 (Trigger) | 顯示數據 (Indicator) |
|---|---|---|---|
| Structure / Vocab Import 🆕 | 課程 | A-33-O 導入完成(無論成功或失敗) | 導入模式 (Structure/Vocabulary)、新增數、更新數、跳過數、錯誤數、媒體缺失警告 |
| Exam Import 🆕 | 檢定 | A-51 考試導入完成 | 成功題數、失敗題數、匯入時間 |
🔁 交互流程圖
正在載入流程圖…
⚙️ 狀態管理
| 狀態 | 觸發條件 | 畫面表現 |
|---|---|---|
| 正常 | 訊息正常載入 | 表格完整顯示,按時間倒序 |
| 加載中 | API 請求中 | 表格顯示 Skeleton 行 |
| 空狀態 | 無任何訊息 | 顯示「No messages」提示 |
| 新增告警 | 後端推送新訊息 | 新行自動出現在頂部,伴隨閃爍提示 |
| 高風險 | [!!] 等級訊息 | 整行或指標數值以紅色標註 |
| Dismissed | 點擊 [X] 後 | 行淡出動畫,Toast 顯示「Message dismissed. [Undo?]」 |
🔎 邏輯自我檢查
- 即時性: 表格應具備靜默刷新功能,新告警自動出現頂部。
- 分類完整性: 五個分類 Tab 需覆蓋所有訊息類型,新增的 Academic / Import 不與現有分類重疊。
- 撤銷功能: Dismiss 後應提供 Undo 選項,防止誤操作。
- Security 不可 Dismiss: 安全類訊息(Brute Force / Privilege Change / 2FA Failures)需更高權限或手動確認方可清除,防止審計記錄遺失。保留天數由 09-規則配置.md §7
alert_security_retention_days控制,預設 90 天。