本卡屬 FR-169(母卡 (建卡後補 Case No)),卡 F2,批 3。只改 FE(compliance-manager-fe)。依賴:F1。
把主站其餘 24 處下載全部改走 F1 的 useProtectedDownload。現況是 blob 下載散在 composable、service、頁面三種地方各自寫 axios,本卡收成一條路:頁面只呼叫 composable 一行。「空白匯入範本」這類非機敏檔不接,回寫列出來。ProjectPlanningView.vue 3,540 行已超標,只准淨減、不往裡加。
extend:src/service/*Service.js 內回 blob 的方法改回 {url, params} 讓 composable 打,或直接在頁面改呼叫 useProtectedDownload().download(url, params, fallbackName);頁面內自己寫 axios blob 的段落刪掉改呼叫。不接:裝置匯入範本、使用者匯入範本這類「空白範本」(非機敏,回寫列出);確認每個下載按鈕只剩一條路徑
repo:~/Projects/Billows/Audit-Manager/compliance-manager-fe
改既有:src/composables/useAgentLocalRuns.js
改既有:src/composables/useArExportDownload.js
改既有:src/composables/useClosingReportBundle.js
改既有:src/composables/useCraLegalDocsExport.js
改既有:src/composables/usePassReportDownload.js
改既有:src/service/ControlMappingService.js
改既有:src/service/GovernanceService.js
改既有:src/service/ModuleFrameTemplateService.js
改既有:src/service/PreEngagementService.js
改既有:src/service/SourceScanService.js
改既有:src/service/SspService.js
改既有:src/service/SupportService.js
改既有:src/views/action-log/UserLogs.vue
改既有:src/views/ai-call-log/AiCallLogList.vue
改既有:src/views/ai-call-log/AiUsageSummary.vue
改既有:src/views/device/DeviceExportMenu.vue
改既有:src/views/feedback/system/SystemFeedbackManage.vue
改既有:src/views/project-summary-report/ProjectSummaryReportForm.vue
改既有:src/views/project/ProjectPlanningView.vue
改既有:src/views/project/RoundPoamPlanView.vue
{url, params} 或直接刪掉讓頁面呼叫 composable(擇一,整卡一致);頁面內自寫 axios blob 的段落刪掉。needs7zip(zip/tar/多檔 true)。grep -rln "responseType: 'blob'" src 剩餘清單貼回寫。grep -rln "responseType: 'blob'" src | grep -v useProtectedDownload 只剩回寫列出的例外;翻一遍每個有下載鈕的頁面都跳對話框;ProjectPlanningView.vue 3,540 行超標只准淨減,新邏輯不往裡加
~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-169-2610-download-file-encryption/design.md §3 決策、§5 詳細設計、§6 拆分表本卡那列~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/features/FR-169-2610-download-file-encryption/prototype/index.html(畫面①對話框、②開關、②b 關閉警示、③Agent、④稽核)~/Projects/Billows/Audit-Manager/compliance-manager-be/docs/analysis/2026-10-29-download-file-encryption-approach.mddocs/claude/domain-capabilities.md 與 FE docs/claude/frontend-overview.md §4。三擇一、預設不新增:reuse → extend 加參數 → 兩邊都確認沒有才新增。回寫列出本卡 reuse 了哪些、新增了哪些、為什麼不能 reuse。XxxV2、同一行為兩條路徑——出現就停下先抽共用。