專案

一般

配置概況

Feature #1397

是由 陳國瑋3 天 前更新

## 目標 

 依 2026-07-29 完成審查的 DriverState/公私樁/離峰充電需求,重構 Branch/HQ API 與 LIFF 的端到端狀態契約,修復 raw OCPP status、排隊、長期離峰模式與實際車主操作語意不一致的問題。 

 ## 核心範圍 

 - PUBLIC/PRIVATE Connector 行為差異。 
 - 手動充電與長期離峰充電。 
 - OFF_PEAK_WAITING/QUEUED/PREPARING/CHARGING/FINISHING 等車主狀態。 
 - Semantic actions 與 Command API authoritative guard。 
 - RemoteStart/RemoteStop operation 持久化及服務重啟還原。 
 - Current off-peak window suppression。 
 - WebSocket initial snapshot、斷線與 stale action 防護。 
 - Branch 提供完整 API contract,HQ passthrough,LIFF 依契約實作。 

 ## 規格附件 

 本 ticket 應附上兩份內容對等的規格: 

 1. `redmine-1397-driver-state-offpeak-requirements-rev-20260731.md`(英文修訂版,附件 #1102) `redmine-1382-driver-state-offpeak-requirements.md`(英文版) 
 2. `redmine-1397-driver-state-offpeak-requirements-zh-TW-rev-20260731.md`(繁體中文修訂版,附件 #1103) `redmine-1382-driver-state-offpeak-requirements-zh-TW.md`(繁體中文版) 

 附件為本主 ticket 與兩張子 ticket 的共同需求基準;實作若需改變產品行為,應先回到主 ticket 更新規格。 

 ## 子任務 

 - Backend:Branch/HQ API、schema、scheduler、OCPP operation、授權與測試。 
 - Frontend:LIFF DriverState/actions、off-peak switch、WebSocket-only detail 與 modal/斷線行為。 

 ## 不在本 ticket 

 - Charge Group 刪除 guard:#1395。 
 - PUBLIC slot 設定 guard 與 runtime `slots==0` 防線:#1396。 

 ## 完成條件 

 - BE 與 FE 子 ticket 均完成各自測試與交付。 
 - API contract、OpenAPI types、WebSocket payload 與畫面行為一致。 
 - 規格列出的 P0/P1 regression 與適用 E2E cases 通過。 
 - 主 ticket 完成跨服務驗收後才可結案。

返回