4.2 KiB
4.2 KiB
Plan: 巡樓 Console 從零重寫
Status:
approved(與 task 拆分一併啟動)
Source:docs/product/haixun-console/spec.md
Last updated:2026-07-09
1. 交付策略
舊碼已在 old/ 封存。主線 greenfield:
- 先 B(前端 mock) 讓 Harbor Desk 流程(含 lead 可回覆)你摸到滿意。
- A 的 live 地基不阻塞 B;可在 B 過關後或平行用
services/api補。 - C 同一 UI 接真;D 海巡等。
本 plan 的 可立即開工區間是 M0–M2(tasks T001–T022),對應 Phase B 完整 mock。
Phase C/D 只定里程碑與 task 編號預留,細 task 待 B 過關再拆。
2. 里程碑
M0 — 倉庫骨架
- 目標: 可
npm run dev的空應用 - 完成定義:
apps/webVite+React+TS 起來;根 README 有啟動指令 - Tasks: T001
- 驗證:
cd apps/web && npm install && npm run build
M1 — 設計系統 + App Shell
- 目標: Harbor Desk 外殼可導覽
- 完成定義: token、基礎元件、桌面側欄+手機底欄、5 入口路由占位
- Tasks: T002–T005
- 驗證: 手動點 5 入口;build 通過
M2 — Auth mock + 路由守衛
- 目標: 未登入進不了
/app/** - 完成定義: mock 登入/登出/重整保 session
- Tasks: T006
- 驗證: 登入後進 Today;logout 回 login
M3 — 資料層 mock
- 目標: repository 介面 + localStorage + seed
- 完成定義: accounts/plays/outbox/jobs/notifications 可讀寫;
mock|live切換點存在(live 可 stub 丟錯) - Tasks: T007–T008
- 驗證: 重整後 seed/草稿仍在
M4 — Crew(帳號)
- 目標: 看帳號列表、mock 新增、不可用狀態
- Tasks: T009
- 驗證: 列表 ≥2 假帳;連線 error 不可當 lead/cast
M5 — Studio 列表 + Wizard 船隊/劇本
- 目標: 建立串場;lead+cast;步驟含 lead 發言
- Tasks: T010–T013
- 驗證: root(A)→reply(B)→reply(A) 可編輯保存
M6 — 預覽 / 船期 / 提交
- 目標: 預覽泡泡、排程、進 Outbox
- Tasks: T014
- 驗證: submit 後 Outbox 有對應 bundle
M7 — Outbox 發送模擬
- 目標: 逐步狀態、主失敗不發後續、重試
- Tasks: T015–T016
- 驗證: 模擬成功全 published;root fail 時 reply 不 published
M8 — Job + 通知 + Today
- 目標: 任務進度、鈴鐺、今日總覽
- Tasks: T017–T019
- 驗證: 模擬 job 完成出通知;Today 有捷徑
M9 — Scout / Settings / 收尾
- 目標: 占位頁、datasource 切換、RWD 基線、範例劇本
- Tasks: T020–T022
- 驗證: Scout 無假成功;手機底欄可用;build 通過
M10 — Phase B 過關(人審)
- 目標: 你主觀認可流程與風格
- Tasks: 無新碼;走查 checklist(requirements Phase B)
- 驗證: 文件勾選 + 你回「B OK」
M20 — Phase C 接真(預留,B 後再拆細 task)
services/api最小 auth/me/permissions- Threads OAuth + accounts
- Jobs + notifications live
- ThreadPlay/Outbox live 垂直切片
預留 task 號:T100+(本輪不寫檔)
M30 — Phase D(預留)
- Scout 海巡滿血等 → T200+
3. 依賴
M0 → M1 → M2 → M3 → M4
↘ M5 → M6 → M7
↘ M8
↘ M9 → M10 (人審)
↘ M20 → M30
4. 風險與緩解
| 風險 | 緩解 |
|---|---|
| Task 膨脹超 200 行 | 實作時再拆子 task,更新 INDEX |
| Mock 契約與 C 不一致 | T007 介面以 spec §5 為準,C 只換 adapter |
| 過早寫 Go | M10 前禁止大範圍 services/api 業務 |
5. 刻意不做(本 plan 週期內 = 到 M10)
- 海巡真功能、舊碼搬回、重型 UI 庫
- live Threads 發文(屬 M20)
- email 驗證閘
6. 全域驗證指令
cd apps/web && npm install && npm run build
# 之後若有測試:
# npm test
7. 批准
- Plan 已批准:2026-07-09(使用者:好請幫我開始拆)
- 實作順序:從 T001 起,完成一題勾 INDEX 再下一題