將本機變更加入 mock 同步佇列
修改檔案:script.js
完成後看見:每筆變更顯示不同短 id,待同步數量增加且重整後仍保留
CHAPTER 27 · PRACTICE WORKSPACE
完成可操作的 mock 同步原型;真實 GAS 串接列為有完整步驟的延伸
TASK STATUS
修改檔案:script.js
完成後看見:每筆變更顯示不同短 id,待同步數量增加且重整後仍保留
修改檔案:script.js
完成後看見:離線同步時全批保留,回到線上同步後全批移除
修改檔案:script.js
完成後看見:離線重整不丟件;恢復模擬網路後成功移除並顯示 GAS 邊界
WORKSPACE
先確認作品目前能做什麼、還缺什麼,再從 TASK-01 開始修改。
FOCUS TASK · TASK-01
比較:queue 描述待同步資料,localStorage 負責跨重新整理保存;兩者要分清楚。
現在做:在 Starter 清除 course-sync-queue,點擊 #change 兩次;檢查 #queue li 有 2 筆、兩個短 id 不同、#status 顯示待同步 2 筆,再重新整理確認仍有 2 筆。
預期:queue 有兩筆資料,course-sync-queue 也保存兩筆;重新整理後畫面與資料數量一致。
證據:留下 #queue li 數量、兩個短 id、#status 文字、storage 陣列長度與重新整理後清單五項證據。
比較:enqueue 改變佇列,render 讓待同步數量與短 id 可見;畫面不是資料來源。
現在做:在 Checkpoint 1 清除 course-sync-queue,點擊 #change 一次;同時記錄 #queue li 的短 id、#status 的待同步數量與 course-sync-queue 的第一筆物件,重新整理後比對三者仍一致。
預期:enqueue 先更新 queue 並保存,render 只負責把同一份資料的短 id 與數量呈現出來;畫面不是資料來源。
證據:留下新增前後的 queue 長度、同一個短 id、storage 第一筆物件與重新整理後畫面四項證據。
完成條件:DONE-01:每筆變更顯示不同短 id,待同步數量增加且重整後仍保留;畫面顯示兩筆變更與兩個不同短 id,待同步數量為 2
MOCK SYNC
待同步 0 筆
尚未執行部署預檢
CONTINUE
前往 Checkpoint 1,依要求完成「將本機變更加入 mock 同步佇列」。
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 章成果證據