--- trigger: always_on --- # Star-Cloud API 整合開發規範 本規範定義了對接 Star-Cloud 後台時的授權與穩定性要求。 ## 1. API 授權機制 (Bearer Auth) > [!IMPORTANT] > **Star-Cloud 採用的機台預授權模式,要求除 B014 (綁定) 外的所有請求都必須具備身分證明。** - **機台 Header**: - 必須在 Header 帶入 `Authorization: Bearer [MachineToken]`。 - 即使是管理員登入 (`B000`) 請求,也必須先帶上綁定時獲得的機台 Token。 - **持久化同步**: - 任何涉及 `ApiKey` (Token) 的變更,必須同步調用 `StarCloudAPI.persistCurrentSettings()` 寫入資料庫。 - 嚴禁只更新記憶體變數而不更新 SQLite。 ## 2. 網路連線與異常處理規範 - **異常捕捉**: - 禁止在網路層級 (Scheduler/API) 使用空白的 catch 區塊。 - 發生 `IOException` 時,必須將錯誤訊息傳遞至前端 UI 顯示(透過 Toast 或 Handler 訊息)。 - **底層實作建議**: - 對於需要高度錯誤診斷的 API(如登入),優先使用原生的 `HttpURLConnection` 封裝,以避開框架內部的隱式錯誤處理。 ## 3. 持久化 (Persistence) 邏輯 - **SettingsDao 規則**: - 存儲機台設定時應遵循「先刪後插」原則,確保資料庫中針對單一功能(如 `Machine`, `Esunpay`)始終只有一條最新紀錄。