FR-110 · 需求索引 · 本頁由 build 掃資料夾生成

FR-110 Google Drive 應用程式設定

狀態:已完成(2026-09-18) 文件 2 份 handoff 2 份
§1

🔴 先看哪一份

文件 性質 什麼時候看
收口 SUMMARY 交付總結 要知道最後做成什麼樣,先看這份。 commit 清單、行為差異、部署 handover、剩餘 follow-up
頁面 SPEC 行為規格(living) 要改這頁的行為、或想知道某個欄位現在怎麼運作,看這份
design.md 設計(定案) D1–D12 的定案內容與理由、資料模型、三支端點、前端版型、選單 migration、子任務拆分
analysis 取捨推理 想知道被排除的方案與反悔條件
discussion.md 需求討論稿 想知道每個決策當時有哪些選項,看這份
FR-110-STATE.md 現況 接手時看:卡片狀態、部署待辦
§2

結論

整案已完成並驗收通過。BE 20 支 commit + FE 7 支,兩 repo 均已 push;DEV 已套選單 migration、出貨基線已重產,STG / POC 未動等放行。2026-09-18 決策者手測後追加三張卡(資料夾初始化補身分、三項體驗缺口補強、專案頁加「證據雲端資料夾」入口)全數 Done。

把 Google Drive 的「應用程式帳號」(client_id / client_secret 與兩個對外網址)從主機設定檔搬到畫面上填,存資料庫、密鑰加密,並附一顆「驗證憑證」按鈕當場判斷填對沒有。整套機制照抄 FR-107 T-5.5 的 AI 服務設定,不發明新做法。

  • 只做平台層那一半——租戶自己按授權連 Drive 的頁面(雲端空間整合)不動。
  • 像但不做:不把加密金鑰 DRIVE_TOKEN_ENCRYPTION_KEY 搬進資料庫(密文與鑰匙同放等於沒加密);不把執行緒數、檔案大小上限這類部署調校參數搬進畫面。
  • 換憑證只警告、不自動清各租戶連線狀態(改錯一個字就清光全站風險太大)。
  • 自動算出來的兩個網址,來源是本頁新增的「系統對外網址」欄位——不推導 FRONTEND_BASE_URL、也不猜請求 Host,那兩種算錯時都不會報錯。
  • 裝機時不把設定檔的值寫進資料庫:「資料庫裡有=有人設過」是個乾淨的判準,日後做「未開通」提示要靠它。
§3

📊 總進度

棒次 Notion 卡 做什麼 狀態 時間
— 未開卡 討論稿 ✅ 已審 2026-09-17
— 未開卡 設計定案(D8–D12 補裁+拆子任務) ✅ 2026-09-17
.1 CM-1891(CM-1895~1898、1910、1911) 存讀地基——設定群組、憑證解析器、DI 改造、通知頻道網址補接 ✅ 2026-09-17
.2 CM-1892(CM-1899、1900) 讀存端點+網址推導、驗證憑證端點 ✅ 2026-09-17
.3 CM-1893(CM-1901~1903) 設定頁 FE、選單 migration、租戶頁前提提示 ✅ 2026-09-17
.4 CM-1894(CM-1904、1905) .env.sample 與部署文件退場、離線腳本停用 ✅ 2026-09-17
收口 — spec 兩頁、SUMMARY、STATE、analysis、FR 登記 ✅ 2026-09-17
追加 CM-1912、CM-1913、CM-1940 手測後三張卡:資料夾初始化補身分、三項體驗缺口(通知失敗不擋授權/網址警告/覆寫驗證)、專案頁「證據雲端資料夾」入口 ✅ 2026-09-18
收口補正 — STATE/SUMMARY/README/FR 登記補上追加卡,重 build 兩站 ✅ 2026-09-18
§4

需求討論紀錄

  • 2026-09-02:決策者拍板開 FR-070(AI 金鑰 + Drive 憑證兩件一起提),列為 Phase 0 白話需求。
  • 2026-09-17:AI 半邊已隨 FR-107 T-5.5 落地,剩下的 Drive 半邊獨立成 FR-110;同時拍板 D1–D7(新開頁面掛系統設定群組、沿用既有加密鑰與能力點、做驗證憑證按鈕、換憑證只警告)。
  • 2026-09-17:D8–D12 一併拍板,全採討論稿建議案——新增「系統對外網址」欄位當推導來源、設定進共用 system_configs 新群組、遮罩寫回規則照抄 AI 金鑰、裝機不 seed、GoogleOAuthClient 保留單例改成呼叫時解析。設計文件產出,拆成 4 子需求 11 張子任務。
  • 2026-09-17:四階段全部實作完成並手測通過。實際 13 張子任務——驗收時多開兩張補卡:CM-1910(改簽章漏跑既有測試)與 CM-1911(設計漏了 Google 變更通知這個對外網址消費端)。收尾產出 spec 兩頁、SUMMARY、STATE、analysis。
  • 2026-09-18:決策者實際拿這頁開通 Drive,追加三張卡。CM-1912 暴露一個既有潛伏 bug(ThreadPoolExecutor 子執行緒不繼承身分,RLS 把整合表擋成 0 列,資料夾骨架靜默只建兩層);CM-1913 補三個「沒有訊息或只有英文原文」的缺口並補手冊取憑證六步;CM-1940 加專案頁一鍵開該輪 Drive 資料夾的入口,按鈕由決策者定名「證據雲端資料夾」(供應商中性,日後換雲端硬碟不必改文案)。實際 16 張子任務。
§5

文件

以下全部由 build 掃資料夾產生,新增檔案重 build 即自動出現。標題連結指向渲染後的 HTML,md 連向源檔。

需求與討論

文件 類型 標題 最後更新
discussion / md 需求討論稿 讓 Drive 憑證用畫面填,不必進主機改設定檔 2026-09-18

設計

文件 類型 標題 最後更新
design / md 設計 Drive 憑證搬進畫面 — 設計定案 2026-09-17

交接與收口時間軸(handoff/,2 份)

由新到舊。每份是某一棒次交接當下的完整現況快照,看某個時間點「當時知道什麼」請從這裡進。

日期 文件 標題
2026-09-18 FR-110-STATE / md FR-110 STATE — Google Drive 應用程式設定
2026-09-18 2026-09-17-FR-110-SUMMARY / md FR-110 收口 SUMMARY — Google Drive 應用程式憑證從主機設定檔搬進畫面