將本機變更加入 mock 同步佇列
修改檔案:script.js
完成後看見:每筆變更顯示不同短 id,待同步數量增加且重整後仍保留
CHAPTER 27 · PRACTICE WORKSPACE
完成可操作的 mock 同步原型;真實 GAS 串接列為有完整步驟的延伸
TASK STATUS
修改檔案:script.js
完成後看見:每筆變更顯示不同短 id,待同步數量增加且重整後仍保留
修改檔案:script.js
完成後看見:離線同步時全批保留,回到線上同步後全批移除
修改檔案:script.js
完成後看見:離線重整不丟件;恢復模擬網路後成功移除並顯示 GAS 邊界
WORKSPACE
已完成 TASK-01;先核對可見結果,再前往 TASK-02。
FOCUS TASK · TASK-02
比較:離線時全批保留等待恢復,線上成功後才可移除;不能只測 queue 歸零。
現在做:在 Checkpoint 2 清除 course-sync-queue,點 #change 兩次;點 #network 進入離線後按 #sync,確認 #status 為「離線|待同步 2 筆」且 storage 仍有 2 筆;切回線上再按 #sync,確認「線上|待同步 0 筆」與 storage=[]。
預期:離線的 mockSend 失敗時整批保留;線上成功後才移除整批,不能只以某一筆成功判定完成。
證據:留下離線/線上兩次 status、兩個短 id、兩個 storage 陣列長度與線上成功後空陣列五項證據。
比較:同步應以整批為單位驗證,避免只移除第一筆就誤判成功。
現在做:在 Checkpoint 2 清除 course-sync-queue,點 #change 兩次並記下兩個短 id;離線同步後確認兩個 id 都仍在 #queue 與 storage,恢復線上同步後確認兩個 id 都不再出現。
預期:syncQueue 逐筆等待 mockSend,但只保留失敗項;全批成功時兩筆都移除,不能只刪除第一筆就顯示成功。
證據:留下同步前兩個 id、離線後兩個 id 仍存在、線上後 queue 長度 0 與 storage=[] 四項證據。
完成條件:DONE-02:離線同步時全批保留,回到線上同步後全批移除;離線時兩筆全保留;線上時兩筆全移除
MOCK SYNC
待同步 0 筆
尚未執行部署預檢
CONTINUE
前往 Checkpoint 2,依要求完成「驗證離線全批保留與線上全批移除」。
CHAPTER HANDOFF
接收:第 26 章只提供本機 CRUD 的操作與保存證據;本章使用獨立的 course-sync-queue,不讀取或共用第 26 章的 course-todos runtime。
交付:本章交給下一章的是 queue item id、離線失敗保留、線上 retry 與 mock preflight 證據;queue 歸零不等於 GAS 或 Sheet 已寫入。
下一章:第 28 章另行驗證 Production URL、格式預檢與人工展示證據,不把本章 mock 結果當成正式部署證明。
回到第 27 章成果證據