工具外掛管理(Tool Plugin Manage)
事實基準:2026-07-05 從 FE
src/views/plugin/ToolPluginManage.vue(165 行)掃出。⚠️ 本頁目前是前端 mock / 未接後端的占位頁——選單可達(
ui_routesenable=1)、但工具清單是前端 hardcoded、無任何 API / DB / 持久化。本 spec 如實記錄現況(living truth),不虛構後端。
1. 功能描述
工具外掛管理規劃用途是管理與整合外部檢測工具 /
外掛模組(如弱點掃描器)。但現況(2026-07-05)是尚未接後端的示意頁:ToolPluginManage.vue
的工具清單是一個 hardcoded computed 陣列(Nessus / Nmap /
Burp Suite / AppScan / SonarQube 等,說明走 i18n),啟用 /
停用只改元件本地 ref state,不呼叫任何
API、不寫任何表、重整即回復。
這頁與已除名的 analysis / customer-dashboard-editor 同屬「scaffold demo」,差別在它的
ui_routes.enable=1(選單可達),使用者能導航進來看到假清單——故保留一份 spec 標明「這是占位頁、勿當功能用」,而非直接除名。真要做工具整合時,此頁需從頭接後端。
1.1 功能總覽
| # | 功能 | 說明 | 位置 | 現況 |
|---|---|---|---|---|
| 1 | 工具清單 | 卡片 / 列表呈現硬編工具(Nessus / Nmap / Burp Suite / AppScan / SonarQube …),名稱固定、說明走 i18n | 主畫面 | hardcoded computed,非 API |
| 2 | 搜尋工具 | searchedTool 前端本地過濾清單名稱 |
搜尋框 | 純前端 |
| 3 | 啟用 / 停用 | 點啟用開確認 Dialog(showActiveDialog)→ 確認後把
currTool.status 改為「啟用」 |
逐工具操作 | 只改本地 state、不持久化 |
無展開成 UC——無後端流程可畫。
2. Use Case
N/A(無後端流程)。唯一互動是前端本地切換工具顯示狀態,重整即失。
3. 權限矩陣
| 操作 | FE 判定 | BE 強制 | 說明 |
|---|---|---|---|
| 進入本頁 | ui_routes web-menu
可見性(enable=1,is_platform 平台頁) |
N/A | 選單可達 |
| 啟用 / 停用工具 | 無(任何進到頁面者可點) | N/A(無後端) | 純前端 state,無 API 可談權限 |
4. 狀態機與前置條件
N/A。工具「狀態」(啟用 / 停用)純前端顯示值,無持久狀態機、無前置條件。
5. UI 設計
📸 實機截圖待補(亮色模式,另有專責 session)。待補:工具清單畫面、啟用確認 Dialog。
6. API 規格
無。ToolPluginManage.vue 全檔零
baseService / axios / API.*
呼叫(grep 驗證:ZERO backend calls)。無對應 route / serializer / app
service。
7. 前端檔案地圖
| 檔案 | 角色 |
|---|---|
compliance-manager-fe/src/views/plugin/ToolPluginManage.vue |
唯一檔案:hardcoded 工具清單 + 本地搜尋 + 啟用 Dialog(無 service) |
compliance-manager-fe/src/config/locales/i18n/*/menu.json |
選單標題「檢測工具管理」+ 描述 |
i18n lang.plugin_manage.* |
各工具說明文字 |
8. 後端檔案地圖
無。無 route / app service / domain / repo / ORM——本頁不涉及後端。
9. DB
無讀寫。不涉及任何資料表。
10. 頁面邏輯與資料對應
| 畫面元素 | FE state | 來源 |
|---|---|---|
| 工具清單 | tools(computed) |
元件內 hardcoded 陣列 + i18n |
| 搜尋 | searchedTool(ref) |
前端本地過濾 |
| 啟用 Dialog | showActiveDialog / currTool(ref) |
本地 state;確認後只改 currTool.status |
11. 背景行為與外部依賴
無(無通知 / job / socket / jedi-* / 系統參數)。
12. 邊界情況與已知坑
- 這是占位頁、非功能:工具清單硬編、啟用不持久化——別當可用功能對外展示或串接。要做工具整合需從頭接
capabilities/ route / service / DB。 - 選單可達但無實質:
ui_routes.enable=1讓使用者能導航進來看到假清單,容易誤以為是可用功能;若要暫時隱藏可把該 routeenable設 0(見 _overview §7)。 - 與 analysis / dashboard-editor 的差異:那兩頁 enable=0 已除名;本頁 enable=1 故留 spec 標明現況。未來若確認永不做,可考慮 disable + 除名。
13. 開發與驗證
- 跑起來:FE
compliance-manager-fenpm dev;登入 → 系統管理 →「檢測工具管理」(/plugin/tool-plugin-manage)。 - 驗現況:開頁看到固定工具清單、點啟用改狀態、重整後回復即證明無持久化。
- 相關:欲實作工具整合走 _overview §2 納權限 SOP + 新開 FR。