319 lines
13 KiB
Markdown
319 lines
13 KiB
Markdown
# 學習地圖功能規格文檔 (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版規格 |