本卡為 FR-165 母案:把「掃描設定檔管理」與「弱點資料庫」兩頁收進一個入口「掃描工具資源管理」,五棒(選單 migration → 前端殼頁與卡片化 → 套件分頁查詢 → 主專案分頁端點 → 收尾文件)。資料層不合併。子卡清單在末段(由 patch 腳本 append)。
現在掃描工具要吃的東西散在兩頁:合規稽核群組的「掃描設定檔管理」(CINC/GCB 的基準,使用者派任務時挑)與系統設定群組的「弱點資料庫」(第三方元件掃描用,全機一份自動更新)。兩者都是「工具要吃的內容,都要管來源、日期、送到 Agent 沒有」,卻各長一頁、各走一套。決策者原話「每次多一個工具又多一個功能頁面,實在太亂也四散各處」。
做完後:左側選單只剩一個入口「掃描工具資源管理」(合規稽核群組,接掃描設定檔管理原本的位子)。點進去兩個分頁:「設定檔/基準」是今天的掃描設定檔管理頁原樣;「參考資料庫」一卡一庫,今天只有弱點資料一張,卡上有資料日期、來源、自動更新開關與檢查頻率、下次檢查、四個來源明細、Agent 同步、更新紀錄(對話框內分頁)。舊的兩個選單消失,舊網址自動轉向。原頁功能一個不少;沒接上的工具不在畫面預告。
FR-059 已把設定檔庫做成不綁工具(新工具 seed 一筆就能用),所以「設定檔」這種形狀已經解掉。沒解的是「參考資料庫」這種形狀:弱點資料庫是第一個,做成專用頁,下一個進來只能複製一份再多一頁。本案第一期只做入口合併與版面對齊(一卡一庫),宣告驅動的機制等第二個參考資料庫真的要進來時再做——實查 Agent 自帶工具中只有弱點比對那組需要獨立更新資料。
detection.profile.* 與 system.vulndb.* 都保留;入口選單可見=任一組 read(route_capabilities requirement ANY),各分頁各看自己那組。VulndbManage.vue。D8 更新紀錄改對話框內分頁、按鈕不帶筆數、後端加分頁端點。D9 沒接上的工具與資料庫不在畫面預告。D10 分頁依形狀分不依工具分。ui_routes、兩筆舊選單 enable=0、控制項子頁改掛新入口、route_capabilities ANY、bump CAPABILITY_CATALOG。只動 scripts/sql/。ScanToolResourcesView.vue+TabView+權限分頁;VulndbManage.vue 縮成卡片(新 ReferenceDbCard.vue);Agent 同步收進卡;更新紀錄改對話框;三條舊路由 redirect;i18n;api.js/VulndbService 加分頁端點常數與方法(端點本身由 .4 做)。VulndbUpdateRepo.list_page 與 VulndbUpdateService.list_updates,含套件測試。只改套件 repo。GET /system/vulndb/updates?page=&size= 分頁端點——app service/route/serializer/add_resource,走 path dependency 吃 .3 的套件改動。frontend-overview.md 加規則。等 FR-156 G1(CM-3000)收完才派。批 1 三張不撞檔:.1 只動 scripts/sql/,.2 只動 FE,.3 只動套件 repo。.4 依賴 .3 的套件方法所以放批 2。.2 的對話框先接 status.recent(固定 20 筆)做分頁 UI;.4 端點好了之後由首腦驗收時把 VulndbUpdateHistory.vue 的資料來源換成新端點(一行),或併入 .5。