手冊首頁 / 合規稽核 / 工具外掛管理

工具外掛管理(Tool Plugin Manage)

功能群:系統管理|共用權限模型先讀 功能群總覽

事實基準:2026-07-05 從 FE src/views/plugin/ToolPluginManage.vue(165 行)掃出。

⚠️ 本頁目前是前端 mock / 未接後端的占位頁——選單可達(ui_routes enable=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。

⚠ 前端 mock 占位頁:工具清單 hardcoded、啟用/停用只改本地 state,重整即回復;無任何 API / DB / 持久化 Header:搜尋框(searchedTool,純前端本地過濾) 開啟:§6 API 規格(本頁無後端) 工具清單卡片:Nessus/Nmap/Burp Suite/AppScan/SonarQube… (無 API — hardcoded computed 陣列 + i18n 說明) 名稱固定、說明走 i18n,非資料庫來源 → §6 API 規格(點我開啟,本頁無後端) 開啟:§6 API 規格(本頁無後端) 啟用確認 Dialog:確認後 currTool.status 改為「啟用」 (無 API — 純本地 ref state 切換) 重整頁面即回復,不寫入任何表 → §6 API 規格(點我開啟,本頁無後端) 彩色=主要互動區塊(本頁無 UC,皆連 §6)|灰=本頁結構|虛線框=dialog/條件顯示層 本頁無 API:§6「API 規格」實際內容為「無」,此圖僅示意畫面區塊對應關係
工具外掛管理版面:搜尋框 + 硬編工具清單(Nessus/Nmap/Burp…)+ 啟用確認 Dialog;註明前端 mock 占位頁、無持久化後端

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. 邊界情況與已知坑

  1. 這是占位頁、非功能:工具清單硬編、啟用不持久化——別當可用功能對外展示或串接。要做工具整合需從頭接 capabilities / route / service / DB。
  2. 選單可達但無實質ui_routes.enable=1 讓使用者能導航進來看到假清單,容易誤以為是可用功能;若要暫時隱藏可把該 route enable 設 0(見 _overview §7)。
  3. 與 analysis / dashboard-editor 的差異:那兩頁 enable=0 已除名;本頁 enable=1 故留 spec 標明現況。未來若確認永不做,可考慮 disable + 除名。

13. 開發與驗證

  • 跑起來:FE compliance-manager-fe npm dev;登入 → 系統管理 →「檢測工具管理」(/plugin/tool-plugin-manage)。
  • 驗現況:開頁看到固定工具清單、點啟用改狀態、重整後回復即證明無持久化。
  • 相關:欲實作工具整合走 _overview §2 納權限 SOP + 新開 FR。