# 學習地圖功能規格文檔 (Web版) ## 📋 功能概述 **功能名稱**: 線性闖關學習地圖系統 (Web端) **建立日期**: 2025-09-11 **最後更新**: 2025-09-11 **負責團隊**: 前端Web/設計/開發 **對應Mobile規格**: `../mobile/03_learning-map-mobile.md` ### 整合共用規範 > 本規格基於以下共用模組,請參閱對應規格文件: > - **[線性闖關學習系統](../common/progressive-stage-system.md)** - 13階段×20劇本×4關卡架構 > - **[共同業務規則](../common/business-rules.md)** - 關卡解鎖和命條系統 > - **[AI算法規格](../common/ai-algorithm-specs.md)** - 學習進度追蹤 ### 主要功能 (基於線性闖關系統) - **13階段學習路徑**: 完整的英語學習階段劃分 - **20+劇本內容**: 每階段包含豐富的情境劇本 - **四關卡系統**: 詞彙學習→詞彙熟悉→口說練習→情境對話 - **線性解鎖機制**: 嚴格的順序闖關,確保學習品質 - **進度視覺化**: 清晰的學習進度和成就展示 - **星級系統**: 關卡完成品質的星級評估 ### Web端特色功能 - **全景地圖視圖**: 大螢幕完整顯示學習路徑全貌 - **多階段並排**: 可同時查看多個階段的劇本分布 - **詳細統計面板**: 各階段學習數據的深度分析 - **快速導航**: 鍵盤快捷鍵和搜尋功能快速定位 - **學習規劃**: 桌面環境的學習計劃制定和追蹤 - **全螢幕模式**: 沉浸式學習地圖瀏覽體驗 ### 適用場景 - 桌面環境的學習規劃和進度檢視 - 需要大範圍學習路徑overview的情況 - 詳細學習數據分析和統計檢視 - 多螢幕環境下的學習管理 ### 與其他功能的關聯 - **四關卡系統**: 直接進入詞彙學習、詞彙熟悉、口說練習、情境對話 - **命條系統**: 整合 [共同業務規則](../common/business-rules.md#🎮-命條系統-life-points-system) 的關卡啟動限制 - **成就系統**: 顯示學習成就和里程碑 - **複習系統**: 整合間隔複習的詞彙管理 ## 💻 涉及的Web頁面 (線性闖關架構) ### 主要頁面 1. **Page_Learning_Map_Overview_W** - 學習地圖總覽頁面 (Web版) 2. **Page_Stage_Detail_W** - 階段詳情頁面 (Web版) 3. **Page_Script_Preview_W** - 劇本預覽頁面 (Web版) 4. **Page_Level_Progress_W** - 關卡進度頁面 (Web版) ### Web專用頁面 1. **Page_Learning_Statistics_W** - 學習統計儀表板 (Web專用) 2. **Page_Learning_Planner_W** - 學習規劃頁面 (Web專用) 3. **Page_Achievement_Gallery_W** - 成就展示廊 (Web專用) ### 輔助頁面 1. **Modal_Stage_Unlock_W** - 階段解鎖慶祝模態視窗 2. **Panel_Quick_Stats_W** - 快速統計面板 3. **Modal_Level_Preview_W** - 關卡預覽模態視窗 ## 🎯 詳細頁面規格 (基於線性闖關系統) ### Page_Learning_Map_Overview_W - 學習地圖總覽頁面 #### 功能說明 (整合共用規範) - **頁面目的**: 展示完整的13階段×20劇本×4關卡學習架構 - **地圖架構**: 參考 [線性闖關學習系統](../common/progressive-stage-system.md#📚-闖關架構) - **解鎖機制**: 參考 [線性闖關學習系統 - 關卡解鎖](../common/progressive-stage-system.md#🔒-關卡解鎖機制) #### 學習架構展示 基於共用規範的三層架構: ``` 13個階段 (Stage) ├── 每階段 20+ 劇本 (Script) │ ├── 第1關:詞彙學習 (Vocabulary Learning) │ ├── 第2關:詞彙熟悉 (Vocabulary Mastery) │ ├── 第2+關:口說練習特別關卡 (Speaking Practice Bonus) │ └── 第3關:情境對話 (Situational Dialogue) ``` #### Web版佈局特點 - **階段總覽區**: 頂部13個階段的水平展示 - **劇本網格區**: 中央20×4的關卡網格展示 - **進度統計區**: 右側進度、成就、命條狀態 - **快速操作區**: 底部搜尋、篩選、導航功能 #### 頁面欄位細節 | 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 | |---------|---------|------|--------|----------|----------| | 當前階段 | Number | 是 | 1 | 1-13 | 高亮顯示當前階段 | | 階段解鎖狀態 | Array | 是 | [] | 解鎖陣列 | 13個階段狀態 | | 劇本完成進度 | Array | 是 | [] | 進度陣列 | 每劇本4關完成狀態 | | 總學習時間 | Number | 是 | 0 | >=0分鐘 | 統計面板顯示 | | 總獲得星數 | Number | 是 | 0 | >=0 | 成就統計 | | 命條餘額 | Number | 是 | 5 | >=0 | 右上角顯示 | | 連續學習天數 | Number | 是 | 0 | >=0 | 成就指標 | | 下次複習詞彙數 | Number | 是 | 0 | >=0 | 複習提醒 | | 搜尋關鍵詞 | String | 否 | "" | 0-50字 | 搜尋框輸入 | | 篩選條件 | Object | 否 | {} | 篩選物件 | 篩選面板設定 | #### Web版互動元素 | 元素名稱 | 元素類型 | 操作方式 | 快捷鍵 | 狀態變化 | 備註 | |---------|---------|----------|--------|----------|------| | 階段選擇器 | 水平滑桿 | 點擊/方向鍵 | ←→ | 階段1-13切換 | 滑動動畫效果 | | 劇本卡片 | 卡片元素 | 點擊/數字鍵 | 1-20 | 未選→已選 | 懸停顯示詳情 | | 關卡圖示 | 圖示按鈕 | 點擊/L鍵 | L | 鎖定→可用→完成 | 四關狀態圖示 | | 搜尋框 | 輸入框 | 點擊/Ctrl+F | Ctrl+F | 空白→輸入中 | 即時搜尋 | | 篩選按鈕 | 下拉選單 | 點擊/F鍵 | F | 收合→展開 | 多條件篩選 | | 全螢幕按鈕 | 按鈕 | 點擊/F11 | F11 | 正常↔全螢幕 | 沉浸式地圖 | | 統計面板 | 摺疊面板 | 點擊/S鍵 | S | 收合↔展開 | 學習統計 | | 快速跳轉 | 按鈕 | 點擊/G鍵 | G | - | 跳轉到指定關卡 | | 學習規劃 | 按鈕 | 點擊/P鍵 | P | - | 開啟學習規劃 | #### 關卡狀態視覺化 基於 [線性闖關學習系統 - 關卡狀態](../common/progressive-stage-system.md#關卡狀態管理): - **🔒 鎖定狀態**: 灰色圖示,顯示解鎖要求 - **⏳ 可進行狀態**: 彩色圖示,可點擊進入 - **🔄 進行中狀態**: 動畫圖示,顯示進度 - **✅ 已完成狀態**: 綠色圖示+星級顯示 ### Page_Stage_Detail_W - 階段詳情頁面 #### 功能說明 (整合進度追蹤) - **頁面目的**: 詳細展示單一階段的20+劇本內容 - **進度追蹤**: 整合 [AI算法規格 - 學習進度追蹤](../common/ai-algorithm-specs.md#🎯-學習進度追蹤) - **成就系統**: 顯示階段相關成就和里程碑 #### 階段內容結構 - **階段概述**: 學習目標、主要場景、詞彙範圍 - **劇本網格**: 20×4的關卡詳細展示 - **統計分析**: 該階段的學習表現分析 - **學習建議**: 基於進度的個人化建議 #### 頁面欄位細節 | 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 | |---------|---------|------|--------|----------|----------| | 階段編號 | Number | 是 | - | 1-13 | 頁面標題 | | 階段名稱 | String | 是 | - | 5-50字 | 主標題顯示 | | 階段描述 | String | 是 | - | 50-200字 | 概述區域 | | 學習目標 | Array | 是 | [] | 目標陣列 | 列表形式 | | 劇本列表 | Array | 是 | [] | 劇本陣列 | 網格佈局 | | 完成劇本數 | Number | 是 | 0 | 0-20+ | 進度統計 | | 階段完成度 | Number | 是 | 0 | 0-100% | 進度條 | | 平均星級 | Number | 是 | 0 | 0-3.0 | 品質指標 | | 詞彙掌握數 | Number | 是 | 0 | >=0 | 學習成果 | | 推薦學習時間 | Number | 是 | - | >0小時 | 建議時長 | ### Page_Learning_Statistics_W - 學習統計儀表板 (Web專用) #### 功能說明 - **頁面目的**: 提供詳盡的學習數據分析和可視化 - **數據範圍**: 跨階段、跨時間的綜合統計 - **Web專用優勢**: 大螢幕多圖表並列顯示 #### 統計維度 基於 [AI算法規格 - 數據追蹤](../common/ai-algorithm-specs.md#📊-數據追蹤需求): - **關卡表現數據**: 完成時間、嘗試次數、星級分布 - **學習行為分析**: 學習模式、停留時間、跳離率 - **進步軌跡**: 長期學習趨勢和能力提升 - **比較分析**: 與其他學習者的表現對比 #### 頁面欄位細節 | 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 | |---------|---------|------|--------|----------|----------| | 統計時間範圍 | DateRange | 是 | 最近30天 | 有效日期 | 頁面頂部選擇器 | | 學習時間統計 | Object | 是 | {} | 時間統計 | 圓餅圖顯示 | | 關卡完成分布 | Array | 是 | [] | 完成陣列 | 長條圖顯示 | | 星級獲得趨勢 | Array | 是 | [] | 時間序列 | 折線圖顯示 | | 詞彙學習進度 | Object | 是 | {} | 進度統計 | 進度環顯示 | | 四關表現對比 | Object | 是 | {} | 關卡統計 | 雷達圖顯示 | | 學習建議列表 | Array | 是 | [] | 建議陣列 | 智能建議卡片 | | 成就解鎖狀態 | Array | 是 | [] | 成就陣列 | 成就牆顯示 | ### Page_Learning_Planner_W - 學習規劃頁面 (Web專用) #### 功能說明 - **頁面目的**: 制定和管理個人化學習計劃 - **規劃範圍**: 日程安排、目標設定、進度追蹤 - **智能建議**: 基於學習表現的個人化建議 #### 規劃功能 - **學習目標設定**: 階段目標、時間目標、星級目標 - **日程規劃**: 每日學習安排、複習排程 - **進度監控**: 實時進度對比和調整建議 - **提醒系統**: 學習提醒、複習提醒、目標檢查 ## 🌐 Web端技術特點 (整合共用規範) ### 響應式設計 - **桌面優先**: 1200px以上寬度的完整地圖展示 - **階段並排**: 大螢幕可同時顯示多個階段 - **關卡網格**: 清晰的4×20關卡網格佈局 - **統計面板**: 詳細的數據視覺化展示 ### 視覺化系統 - **進度動畫**: 關卡解鎖和完成的動畫效果 - **狀態圖示**: 清晰的關卡狀態視覺表示 - **星級展示**: 直觀的學習品質指標 - **成就系統**: 學習里程碑的視覺化慶祝 ### 效能最佳化 - **虛擬捲動**: 大量關卡數據的效能優化 - **懶載入**: 階段內容按需載入 - **快取策略**: 學習進度本地快取 - **預載入**: 預先載入即將解鎖的內容 ## ⌨️ Web版快捷鍵一覽 ### 導航快捷鍵 - `←→` - 切換階段 - `1-20` - 直接跳轉劇本 - `L` - 查看關卡詳情 - `G` - 快速跳轉 - `Home/End` - 跳到第一/最後階段 ### 功能快捷鍵 - `Ctrl+F` - 開啟搜尋 - `F` - 顯示篩選選項 - `S` - 切換統計面板 - `P` - 開啟學習規劃 - `F11` - 全螢幕模式 - `Esc` - 返回總覽 ### 學習相關快捷鍵 - `Enter` - 進入選中的關卡 - `Space` - 展開/收合劇本詳情 - `Ctrl+R` - 刷新進度數據 - `I` - 查看學習統計 ## 📊 Web版業務邏輯差異 ### 學習地圖管理 基於 [線性闖關學習系統](../common/progressive-stage-system.md) 的Web端實現: - **全景視圖**: 可同時查看多個階段的學習狀態 - **詳細統計**: 比Mobile端更豐富的數據分析 - **批量操作**: 可同時管理多個學習計劃 - **深度分析**: 提供學習行為的詳細洞察 ### 進度同步機制 - **即時同步**: 學習進度跨設備即時同步 - **離線支援**: 離線查看已快取的進度數據 - **衝突解決**: 處理多設備同時學習的衝突 - **備份恢復**: 學習進度的自動備份機制 ### 關卡解鎖邏輯 基於 [共同業務規則 - 命條系統](../common/business-rules.md#🎮-命條系統-life-points-system): - **解鎖條件**: 嚴格的線性解鎖機制 - **命條檢查**: 進入關卡前檢查命條餘額 - **特別關卡**: 第2+關的跳過機制 - **階段解鎖**: 完成前一階段所有劇本才解鎖下一階段 ## 🧪 Web版測試要點 ### 地圖顯示測試 - [ ] 13階段×20劇本×4關卡正確顯示 - [ ] 關卡狀態圖示準確反映實際狀態 - [ ] 解鎖邏輯符合線性闖關規則 - [ ] 進度統計數據準確無誤 ### 響應式佈局測試 - [ ] 1920x1080 完整地圖展示 - [ ] 1366x768 適當簡化佈局 - [ ] 1024x768 關卡網格正常顯示 - [ ] 快捷鍵功能完整可用 ### 效能測試 - [ ] 大量關卡數據載入<3秒 - [ ] 階段切換動畫流暢 - [ ] 統計圖表渲染順暢 - [ ] 長時間使用無記憶體洩漏 ### 數據同步測試 - [ ] 跨設備進度同步正常 - [ ] 離線數據快取有效 - [ ] 進度衝突正確解決 - [ ] 備份恢復機制可靠 ## 📝 Web端開發注意事項 ### 前端開發 - 使用現代JavaScript框架處理複雜的地圖狀態 - 實現高效的虛擬捲動和懶載入 - 整合多種圖表庫進行數據視覺化 - 響應式設計支援多種螢幕尺寸 ### 業務邏輯整合 - 嚴格遵循 [線性闖關學習系統](../common/progressive-stage-system.md) 的解鎖機制 - 整合 [共同業務規則](../common/business-rules.md) 的命條系統 - 實現與其他功能模組的無縫整合 - 確保學習進度的一致性和準確性 ### 用戶體驗優化 - 地圖載入和切換的流暢動畫 - 清晰的視覺層次和資訊組織 - 直觀的關卡狀態表示 - 豐富的互動反饋和提示 ### 資料管理 - 高效的學習進度數據結構 - 即時的進度同步機制 - 可靠的資料備份和恢復 - 詳細的學習分析和統計 --- **文檔狀態**: 🟢 已完成 (基於共用規範更新) **最後更新**: 2025-09-11 **版本**: v2.0 - 整合線性闖關學習地圖系統 **相關文檔**: - `../common/progressive-stage-system.md` - 線性闖關學習系統規格 - `../common/business-rules.md` - 共同業務規則 - `../common/ai-algorithm-specs.md` - AI算法規格 - `../mobile/03_learning-map-mobile.md` - 對應的Mobile版規格