LESSON-27 · SELF-PACED PRACTICE

Sheet Schema、權威計價、去重與完整狀態

把「Sheet Schema、權威計價、去重與完整狀態」拆成 4 個可獨立完成、可重設、可驗證的自主學習 module。

4個獨立主題3個練習階段1個整合挑戰
看見缺口 → 修改一小段 → 重新載入驗收

每一個 topic 都有自己的檔案、Starter、Checkpoint、Solution 與證據清單。

先知道今天要做什麼

不要從長篇名詞開始;先從第一個可完成的小任務開始。

01

選一個 topic

從第一張卡開始,先閱讀任務情境與預期畫面。

02

修改自己的檔案

打開 Starter 的實作檔,依 Step 逐步修改,不靠按鈕代做。

03

用證據驗收

重新整理頁面,對照畫面、DOM、Computed、Console 或文件證據。

4 個獨立主題

每張卡只練一個責任;完成後再進入下一張。

01

Products/Orders/Contacts Schema

能固定三張 Sheet headers 與 row builder 順序。

要修改:files/starter/apps-script/SETUP.md

02

伺服器權威計價

能由 Products 的 active 商品與有效售價重建 items,計算商品總額、運費與訂單總額。

要修改:files/starter/apps-script/Code.gs

03

LockService 與 submissionId 去重

能把去重查詢與 append 放在同一把 lock 內,重試沿用 submissionId。

要修改:files/starter/apps-script/Code.gs

04

五狀態與安全 Retry

能重現 idle/loading/success/error/timeout,所有完成路徑恢復按鈕並保留輸入。

要修改:files/starter/apps-script/Code.gs

最後整合挑戰

把已完成的責任轉回本章完整作品,不把整合步驟冒充成單項教學。

在同一份章節作品中整合 4 個 module,排除單項通過但組合失敗的問題。

完成三張 Sheet schema、GAS 權威計價、LockService 去重與 idle/loading/success/error/timeout 安全重試。

第一個建議動作

如果你現在只想知道下一步,先做這件事。

開啟「Products/Orders/Contacts Schema」:先看 files/starter/apps-script/SETUP.md 的 先從 Orders 的 orderNo 逐欄比對到 itemsJson,再核對 Products 與 Contacts。,記錄目前狀態,再修改一小段。