282 lines
12 KiB
Markdown
282 lines
12 KiB
Markdown
# 學習地圖功能規格文檔 (Web版)
|
|
|
|
## 📋 功能概述
|
|
|
|
**功能名稱**: 學習地圖系統 (Web端)
|
|
**建立日期**: 2025-09-09
|
|
**最後更新**: 2025-09-09
|
|
**負責團隊**: 前端Web/設計/開發
|
|
**對應Mobile規格**: `../mobile/03_學習地圖功能規格.md`
|
|
|
|
### 主要功能
|
|
- 階段化學習路徑,從基礎到進階的順序解鎖機制
|
|
- 可視化進度追蹤,清晰展示學習成就和剩餘目標
|
|
- 多元化關卡類型,包含對話、詞彙、語法、聽力等訓練
|
|
- 個人化學習建議,基於用戶表現調整學習路徑
|
|
- 社交競爭元素,好友進度對比和排行榜功能
|
|
|
|
### Web端特色功能
|
|
- **全景地圖視圖**: 利用大螢幕展示完整學習路徑
|
|
- **縮放互動地圖**: 支援滑鼠縮放和拖拽導航
|
|
- **多層級檢視**: 可切換總覽、階段、詳細三個層級
|
|
- **進度對比分析**: 圖表化顯示學習進度和預期目標
|
|
- **批量操作**: 可同時規劃多個學習目標
|
|
- **學習路徑客製化**: 用戶可自訂學習順序和重點
|
|
|
|
### 適用場景
|
|
- 桌面環境的學習規劃和進度管理
|
|
- 需要整體學習策略規劃的深度用戶
|
|
- 教師或家長監督學習進度
|
|
- 長期學習目標的追蹤和調整
|
|
|
|
### 與其他功能的關聯
|
|
- **詞彙學習系統**: 根據地圖進度解鎖詞彙包
|
|
- **對話練習系統**: 按階段開放對話情境
|
|
- **成就系統**: 完成關卡獲得徽章和獎勵
|
|
- **道具商店**: 使用道具加速解鎖或重置進度
|
|
- **分析系統**: 學習軌跡數據用於個性化建議
|
|
|
|
## 💻 涉及的Web頁面
|
|
|
|
### 主要頁面
|
|
1. **Page_Map_Overview_W** - 學習地圖總覽頁面 (Web版)
|
|
2. **Page_Map_Stage_Details_W** - 階段詳情與規劃頁面 (Web版)
|
|
3. **Page_Map_Level_Details_W** - 關卡詳情頁面 (Web版)
|
|
4. **Page_Map_Progress_Analytics_W** - 進度分析儀表板 (Web版)
|
|
5. **Page_Achievement_Gallery_W** - 成就展示廳 (Web版)
|
|
|
|
### Web專用頁面
|
|
1. **Page_Learning_Path_Planner_W** - 學習路徑規劃器 (Web專用)
|
|
2. **Page_Progress_Comparison_W** - 進度對比分析頁面 (Web專用)
|
|
3. **Page_Study_Schedule_Manager_W** - 學習排程管理器 (Web專用)
|
|
|
|
### 輔助畫面
|
|
1. **Modal_Level_Preview_W** - 關卡預覽模態視窗
|
|
2. **Modal_Achievement_Details_W** - 成就詳情模態視窗
|
|
3. **Panel_Quick_Progress_W** - 快速進度面板
|
|
4. **Tooltip_Level_Info_W** - 關卡資訊提示框
|
|
|
|
## 🎯 詳細頁面規格
|
|
|
|
### Page_Map_Overview_W - 學習地圖總覽頁面 (Web版)
|
|
|
|
#### 功能說明
|
|
- **頁面目的**: 在大螢幕上展示完整的學習地圖,提供直觀的進度概覽
|
|
- **進入條件**: 從主選單進入或設為用戶主頁
|
|
- **退出條件**: 進入具體關卡或其他功能模組
|
|
|
|
#### Web版佈局特點
|
|
- **地圖主區域**: 占螢幕75%,支援縮放和拖拽的互動地圖
|
|
- **進度側邊欄**: 右側25%,顯示整體統計和快速導航
|
|
- **頂部工具列**: 包含視圖切換、搜索、篩選等功能
|
|
- **底部狀態列**: 顯示當前學習狀態和下一個建議目標
|
|
|
|
#### 頁面欄位細節
|
|
|
|
| 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 |
|
|
|---------|---------|------|--------|----------|----------|
|
|
| 學習階段列表 | Array | 是 | [] | 階段陣列 | 地圖主區域顯示 |
|
|
| 當前學習階段 | Number | 是 | 1 | 1-13階段 | 高亮顯示 |
|
|
| 整體完成進度 | Number | 是 | 0 | 0-100% | 進度條顯示 |
|
|
| 已完成關卡數 | Number | 是 | 0 | >=0 | 統計卡片顯示 |
|
|
| 已解鎖關卡數 | Number | 是 | 1 | >=1 | 統計卡片顯示 |
|
|
| 總獲得星級 | Number | 是 | 0 | >=0 | 星級統計顯示 |
|
|
| 近期學習活動 | Array | 是 | [] | 活動陣列 | 側邊欄時間軸 |
|
|
| 推薦下一步 | Object | 否 | null | 建議物件 | 底部建議區域 |
|
|
| 地圖縮放級別 | Number | 是 | 1.0 | 0.5-3.0 | 控制地圖顯示範圍 |
|
|
| 篩選條件 | Object | 否 | {} | 篩選物件 | 頂部篩選器 |
|
|
|
|
#### Web版互動元素
|
|
|
|
| 元素名稱 | 元素類型 | 操作方式 | 快捷鍵 | 狀態變化 | 備註 |
|
|
|---------|---------|----------|--------|----------|------|
|
|
| 地圖縮放控制 | 按鈕組+滾輪 | 滑鼠滾輪/+- | +/- | 0.5x-3x縮放 | 支援滑鼠縮放 |
|
|
| 地圖拖拽 | 拖拽區域 | 滑鼠拖拽 | 方向鍵 | 移動視窗 | 支援鍵盤導航 |
|
|
| 關卡點擊 | 地圖節點 | 點擊/Enter | Enter | 正常→選中 | 顯示關卡詳情 |
|
|
| 階段跳轉 | 導航按鈕 | 點擊/數字鍵 | 1-9 | - | 快速跳轉到階段 |
|
|
| 視圖切換 | 標籤組 | 點擊/Tab | Tab | 總覽↔詳細 | 切換顯示模式 |
|
|
| 搜索關卡 | 搜索框 | 輸入/Ctrl+F | Ctrl+F | - | 關卡名稱搜索 |
|
|
| 進度篩選 | 下拉選單 | 點擊/F | F | 全部→篩選 | 按完成狀態篩選 |
|
|
| 全螢幕地圖 | 按鈕 | 點擊/F11 | F11 | 正常↔全螢幕 | 沉浸式地圖檢視 |
|
|
| 重置視圖 | 按鈕 | 點擊/R | R | - | 恢復預設視圖 |
|
|
|
|
#### Web版使用者操作流程
|
|
1. **地圖瀏覽**: 頁面載入 → 查看整體進度 → 使用縮放和拖拽探索地圖
|
|
2. **關卡選擇**: 點擊關卡節點 → 預覽關卡資訊 → 決定開始學習或跳過
|
|
3. **進度規劃**: 查看推薦路徑 → 設定學習目標 → 規劃學習排程
|
|
4. **成就查看**: 瀏覽已獲得成就 → 查看未完成挑戰 → 設定新的成就目標
|
|
|
|
### Page_Learning_Path_Planner_W - 學習路徑規劃器 (Web專用)
|
|
|
|
#### 功能說明
|
|
- **頁面目的**: 允許用戶客製化學習路徑,規劃個人化學習計畫
|
|
- **進入條件**: 從地圖總覽點擊"規劃學習"或快捷鍵Ctrl+P
|
|
- **退出條件**: 保存學習計畫或取消規劃
|
|
|
|
#### Web專有功能
|
|
- **拖拽式規劃**: 可拖拽關卡重新排序學習順序
|
|
- **時間估算**: 自動計算完成規劃所需的學習時間
|
|
- **衝突檢測**: 自動檢測學習計畫中的前置條件衝突
|
|
- **多計畫管理**: 可建立多個學習計畫並比較選擇
|
|
|
|
#### 頁面欄位細節
|
|
|
|
| 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 |
|
|
|---------|---------|------|--------|----------|----------|
|
|
| 計畫名稱 | String | 是 | "我的學習計畫" | 1-50字 | 頁面頂部輸入框 |
|
|
| 目標完成時間 | Date | 否 | - | 未來日期 | 日期選擇器 |
|
|
| 每日學習時間 | Number | 是 | 30 | 15-180分鐘 | 滑桿選擇器 |
|
|
| 選中關卡列表 | Array | 是 | [] | 關卡ID陣列 | 中央規劃區域 |
|
|
| 學習優先級 | Object | 是 | {} | 優先級設定 | 關卡屬性設定 |
|
|
| 預計完成時間 | Number | 是 | 0 | >=0天 | 自動計算顯示 |
|
|
| 衝突警告 | Array | 否 | [] | 衝突陣列 | 警告提示區域 |
|
|
| 計畫狀態 | String | 是 | "草稿" | 狀態枚舉 | 狀態指示器 |
|
|
|
|
### Page_Progress_Comparison_W - 進度對比分析頁面 (Web專用)
|
|
|
|
#### 功能說明
|
|
- **頁面目的**: 提供詳細的學習進度分析,包含歷史對比和預測
|
|
- **進入條件**: 從進度統計點擊"詳細分析"或快捷鍵Ctrl+A
|
|
- **退出條件**: 返回地圖或關閉分析頁面
|
|
|
|
#### Web專有分析功能
|
|
- **時間序列分析**: 學習進度的時間變化趨勢
|
|
- **能力雷達圖**: 不同技能領域的平衡發展分析
|
|
- **目標達成預測**: 基於當前進度預測目標完成時間
|
|
- **同儕比較**: 與相似程度學習者的進度對比
|
|
|
|
#### 頁面欄位細節
|
|
|
|
| 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 |
|
|
|---------|---------|------|--------|----------|----------|
|
|
| 分析時間範圍 | DateRange | 是 | 最近3個月 | 有效範圍 | 時間選擇器 |
|
|
| 進度趨勢數據 | Array | 是 | [] | 時間序列 | 折線圖顯示 |
|
|
| 技能平衡分析 | Object | 是 | {} | 技能評分 | 雷達圖顯示 |
|
|
| 學習效率指標 | Number | 是 | 0 | 0-100 | 效率評分卡片 |
|
|
| 目標達成預測 | Object | 否 | null | 預測數據 | 預測圖表 |
|
|
| 同儕排名 | Number | 否 | - | 排名數字 | 排名顯示器 |
|
|
| 學習建議 | Array | 是 | [] | 建議陣列 | 建議列表 |
|
|
|
|
## 🌐 Web端技術特點
|
|
|
|
### 互動地圖技術
|
|
- **SVG地圖渲染**: 使用SVG繪製可縮放的學習地圖
|
|
- **Canvas效能優化**: 大量節點使用Canvas渲染提升效能
|
|
- **虛擬化滾動**: 大型地圖的效能最佳化
|
|
- **響應式縮放**: 根據螢幕大小自動調整地圖比例
|
|
|
|
### 資料視覺化
|
|
- **D3.js圖表**: 進度分析的豐富圖表支援
|
|
- **Chart.js整合**: 簡單統計圖表的快速實現
|
|
- **動畫過渡**: 流暢的數據變化動畫效果
|
|
- **互動式圖表**: 可點擊、縮放、篩選的圖表
|
|
|
|
### 本地存儲最佳化
|
|
- **IndexedDB**: 離線地圖數據和進度快取
|
|
- **LocalStorage**: 用戶偏好設定和視圖狀態
|
|
- **SessionStorage**: 臨時學習計畫和操作記錄
|
|
- **WebSQL備援**: 舊瀏覽器的資料存儲支援
|
|
|
|
## ⌨️ Web版快捷鍵系統
|
|
|
|
### 地圖導航快捷鍵
|
|
- `↑↓←→` - 地圖移動
|
|
- `+/-` - 地圖縮放
|
|
- `R` - 重置視圖
|
|
- `F11` - 全螢幕模式
|
|
- `Space` - 回到當前學習位置
|
|
- `Home` - 回到地圖起始位置
|
|
- `End` - 跳到最遠解鎖位置
|
|
|
|
### 關卡操作快捷鍵
|
|
- `Enter` - 開始選中的關卡
|
|
- `Tab` - 切換到下一個可用關卡
|
|
- `Shift + Tab` - 切換到上一個關卡
|
|
- `1-9` - 跳轉到對應階段
|
|
- `Ctrl + Click` - 多選關卡(規劃模式)
|
|
|
|
### 功能操作快捷鍵
|
|
- `Ctrl + F` - 搜索關卡
|
|
- `Ctrl + P` - 開啟學習規劃器
|
|
- `Ctrl + A` - 開啟進度分析
|
|
- `Ctrl + S` - 保存當前計畫
|
|
- `F` - 開啟篩選選項
|
|
- `H` - 顯示/隱藏幫助信息
|
|
|
|
## 📊 Web版業務邏輯差異
|
|
|
|
### 進度管理增強
|
|
- **批量操作**: 可同時重置或重新挑戰多個關卡
|
|
- **智慧推薦**: 基於桌面用戶學習模式的個性化推薦
|
|
- **長期規劃**: 支援週期性和長期學習目標設定
|
|
- **詳細統計**: 比Mobile版更豐富的進度分析
|
|
|
|
### 社交功能擴展
|
|
- **學習小組**: 可建立或加入學習小組
|
|
- **進度分享**: 一鍵分享學習成就到社交媒體
|
|
- **競賽功能**: 參與線上學習競賽和挑戰
|
|
- **導師模式**: 高級用戶可指導新用戶
|
|
|
|
### 客製化功能
|
|
- **佈景主題**: 多種地圖主題和顏色方案
|
|
- **顯示偏好**: 可調整地圖元素的顯示方式
|
|
- **通知設定**: 靈活的學習提醒和成就通知
|
|
- **資料匯出**: 學習進度和統計的多格式匯出
|
|
|
|
## 🧪 Web版測試要點
|
|
|
|
### 地圖互動測試
|
|
- [ ] 地圖縮放流暢度測試 (0.5x-3x)
|
|
- [ ] 大型地圖拖拽效能測試
|
|
- [ ] 關卡點擊響應速度測試
|
|
- [ ] 多關卡選擇準確性測試
|
|
- [ ] 快捷鍵功能完整性測試
|
|
|
|
### 視覺化效能測試
|
|
- [ ] 大量數據點圖表渲染測試
|
|
- [ ] 動畫過渡流暢度測試
|
|
- [ ] 多圖表同時顯示效能測試
|
|
- [ ] 響應式佈局適配測試
|
|
|
|
### 資料同步測試
|
|
- [ ] 離線模式功能完整性測試
|
|
- [ ] 多標籤頁資料同步測試
|
|
- [ ] 學習進度即時更新測試
|
|
- [ ] 成就解鎖通知準確性測試
|
|
|
|
### 瀏覽器相容性測試
|
|
- [ ] Chrome SVG渲染正確性
|
|
- [ ] Firefox Canvas效能表現
|
|
- [ ] Safari 動畫效果流暢度
|
|
- [ ] Edge 資料存儲功能正常
|
|
|
|
## 📝 Web端開發注意事項
|
|
|
|
### 前端技術選型
|
|
- 地圖渲染使用SVG + Canvas混合方案
|
|
- 狀態管理使用Redux/MobX處理複雜地圖狀態
|
|
- 動畫使用Framer Motion或React Spring
|
|
- 圖表使用D3.js + Chart.js組合方案
|
|
|
|
### 效能最佳化策略
|
|
- 地圖節點使用虛擬化渲染
|
|
- 大型數據集使用Web Workers處理
|
|
- 圖片資源使用WebP格式和懶載入
|
|
- 關卡數據使用增量載入策略
|
|
|
|
### 使用者體驗設計
|
|
- 提供地圖使用教學和引導
|
|
- 支援無障礙設備和鍵盤導航
|
|
- 提供多種視圖模式適應不同用戶
|
|
- 實現智慧的學習路徑推薦系統
|
|
|
|
---
|
|
|
|
**文檔狀態**: 🟢 已完成
|
|
**最後更新**: 2025-09-09
|
|
**版本**: v1.0
|
|
**相關文檔**:
|
|
- `../mobile/03_學習地圖功能規格.md` - 對應的Mobile版規格
|
|
- `../common/業務規則.md` - 共同業務邏輯
|
|
- `../common/數據模型.md` - 數據結構定義
|
|
- `../common/API規格.md` - API接口規格 |