Skip to content
全部階段依各階段有效範圍顯示
全階段總覽

本頁範圍:P1 起

T-10 Class Schedule and Progress ​

教師端安排課程設計規格P1 起
P1 版本
畫面用途

1. 排期總覽: 一覽目前課程範圍內各 Level 的 Session 鎖定/解鎖狀態,快速掌握班級進度。

原型與規格有待確認事項,請一併閱讀正文中的差異說明。

閱讀完整規格 ↓
變化時間線
  1. P1新增 +1移除 −0

第一版式樣草案 · Markdown 來源:03-App畫面-教師.mdGitHub 版本尚未推送;目前以本機手冊為準

取圖紀錄: QL APP,2026-10-18,版本 2410774734466577464;節點 151:1010 。學生 2x/Web 1x。圖片是目前設計稿,文字為 APlus 首版目標規格。

🎨 Figma: Class Schedule 🔗

🎯 功能定位 ​

  1. 排期總覽: 一覽目前課程範圍內各 Level 的 Session 鎖定/解鎖狀態,快速掌握班級進度。
  2. Current Session: 教師手動指定班級目前教學進度所在的 Active Session;此值是學生練習抽題的起點,不由日期排程自動取代。
  3. Schedule Planner: 透過 Modal 設定 Interval 與 Skip,批次安排後續 Session 的開放日期。
  4. 即時開關: 每個 Session 右側提供 Lock/Unlock Toggle,支援手動快速切換。
  5. 連鎖開啟邏輯: 確保教學連續性。若開啟第 N 單元,則該課程排序中 1 至 N-1 單元自動同步開啟。

🧱 畫面結構 ​

Web 佈局:12-col grid,1280px max-width,深色 Sidebar

  • Header:

    • "Hello, Sandra!" — 問候語 + 教師名稱
    • [Class 3A ▾] — T-02 班級切換 Dropdown
    • [🔔] [👤] → T-03 / T-04
  • Sidebar (深色,圖標式):

    • Home User Clock Calendar Chart Trophy
  • Main Content — Course Calendar:

    • Active Session: [Category · Level · Session ▾] — 教師手動指定目前教學 Session;清單涵蓋該班已指派課程中的可用 Level/Session。
    • [📅 Schedule Planner] → 開啟 T-10-A Modal,進行 Interval 排期與 Skip 管理
    • Session Table — DataTable:
      • Columns: Session | Title | Date | Lock Toggle
      • Row: S 1-1 | Greetings | 2026/03/29 | Toggle (Unlocked)
      • Row: S 2-1 | Numbers | 2026/03/29 | Toggle (Unlocked)
      • Row: S 3-1 | Family | (lock icon) | Toggle (Locked)
      • Row: S 4-1 | School | - | Toggle (Locked)
      • Row: S 5-1 | Family | - | Toggle (Locked)
      • Row: S 6-1 | Numbers | - | Toggle (Locked)
      • Row: S 7-1 | Family | - | Toggle (Locked)
      • Row: S 8-1 | School | - | Toggle (Locked)
      • Row: S 9-1 | Greetings | - | Toggle (Locked)
      • Row: S 10-1 | Numbers | - | Toggle (Locked)
      • Date - 表示尚未透過 Schedule Planner 排期
      • Lock Toggle:切換開關樣式(Unlocked = 已開放 / Locked = 鎖定)

📦 區塊說明 ​

#區塊元件行為/交互備註
1Schedule Planner 按鈕Button ([📅 Schedule Planner])開啟 T-10-A Modal,進行 Interval 排期與 Skip 管理排期儲存後 Date 欄自動填充
2Active SessionCourse/Level/Session Selector教師手動設定班級目前的 Active Session,作為學生出題起點只列該班已配置課程範圍;未提供正式課綱時,Category/Level/Session 映射待確認
3Session TableDataTable唯讀顯示已配置課程各 Level 的 Session 編號、標題、排定日期Date 由 Schedule Planner 自動寫入,不可在此手動編輯
4Lock ToggleToggle Switch切換 Session 的 Locked / Unlocked 狀態手動解鎖觸發連鎖開啟邏輯(彈窗確認);Block 設定與班級綁定,學生轉班不影響
5Lock 圖標Icon表示該 Session 尚未經 Schedule Planner 排期顯示在 Date 欄位,排期後替換為具體日期

🔁 交互流程與連鎖邏輯 ​

排期 → 自動解鎖 ​

流程圖

正在載入流程圖…

手動解鎖與連鎖邏輯 ​

流程圖

正在載入流程圖…

⚙️ 狀態管理 ​

狀態觸發條件畫面表現
UnlockedDate 已到達或手動解鎖Toggle 開啟狀態,Date 顯示具體日期
Locked (已排期)Date 尚未到達Toggle 關閉狀態,Date 顯示未來日期
Locked (未排期)尚未透過 Schedule Planner 設定Toggle 關閉狀態,Date 顯示 - + 鎖圖標
Toggle 操作中切換 Toggle 觸發連鎖確認彈窗等待確認

🔎 邏輯自我檢查 ​

  • Sequential Guard(連續性保護): 資料庫寫入時,若 session_id = N 狀態為 Unlocked,則所有 id < N 的單元 status 強制更新為 Unlocked。
  • Time Sync: 系統採用伺服器時間,避免學生更改手機本地時間來破解進度。
  • Global Store: 緩存班級的 Current_Max_Session_ID,供出題演算法(A-40)調用。
  • Date 不可手動編輯: Session Table 的 Date 欄位為唯讀,所有日期由 Schedule Planner(T-10-A)統一管理寫入。
  • Block 與班級綁定: Block 的設定與班級綁定,學生轉移到別的班級則不影響。
  • Q: 學生正在練習時老師解鎖新單元,數據會丟失嗎?
    • A: 不會,學生下次進入練習或刷新畫面時,新題庫會自動載入。

提交版本內容版本 c096dd1f提交 7e9453e規格文件,功能實現狀態另行確認