dramaling-app/docs/02_design/function-specs/web/situational-dialogue-web.md

286 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 情境對話功能規格文檔 (Web版)
## 📋 功能概述
**功能名稱**: 情境對話訓練系統 (Web端)
**建立日期**: 2025-09-09
**最後更新**: 2025-09-09
**負責團隊**: 前端Web/設計/開發
**對應Mobile規格**: `../mobile/01_情境對話功能規格.md`
### 主要功能
- 沉浸式情境對話練習,支援多場景劇本
- 任務導向對話訓練,完成指定溝通目標
- 限時對話挑戰,提升反應速度和流暢度
- AI即時分析回饋提供個人化學習建議
- 三維度評分系統,全面評估學習成效
- 對話訂正功能,精準糾正語法和表達問題
### Web端特色功能
- **雙視窗模式**: 左右分割顯示對話和輔助資訊
- **實時打字支援**: 完整鍵盤輸入,支援多語言輸入法
- **對話歷史面板**: 可捲動查看完整對話記錄
- **多標籤對話**: 同時進行多個對話練習
- **語音輸入優化**: Web Speech API整合桌面級語音識別
- **進階統計儀表板**: 詳細的對話分析和學習軌跡
### 適用場景
- 辦公室桌面環境的深度對話練習
- 需要大量文字輸入的商務溝通訓練
- 多螢幕環境下的沉浸式學習體驗
- 長時間專注的對話技能提升訓練
### 與其他功能的關聯
- **詞彙學習系統**: 整合指定詞彙到對話情境中
- **學習地圖系統**: 提供情境對話的關卡和進度管理
- **道具商店系統**: 回覆提示道具、加時道具的商業整合
- **命條系統**: 對話失敗消耗命條的生命管理機制
- **排行榜系統**: 限時挑戰成績和社交競爭功能
## 💻 涉及的Web頁面
### 主要頁面
1. **Page_Dialogue_Main_W** - 情境對話主界面 (Web版)
2. **Page_Dialogue_Analysis_W** - AI對話分析頁面 (Web版)
3. **Page_Character_Details_W** - 角色詳情與背景介紹 (Web版)
4. **Page_Keywords_Details_W** - 情境關鍵詞預習頁面 (Web版)
5. **Page_Reply_Input_W** - 進階回覆輸入系統 (Web版)
6. **Page_Reply_Assistance_W** - 回覆卡關輔助面板 (Web版)
### Web專用頁面
1. **Page_Dialogue_History_Dashboard_W** - 對話歷史統計儀表板 (Web專用)
2. **Page_Multi_Dialogue_Manager_W** - 多對話管理頁面 (Web專用)
### 輔助畫面
1. **Modal_Cost_Confirm_W** - 對話成本確認模態視窗
2. **Modal_TimeWarp_Cards_W** - 時光卷道具使用模態視窗
3. **Modal_Challenge_Exit_Confirm_W** - 挑戰退出確認對話框
4. **Panel_Task_Display_W** - 任務完成狀態顯示面板
## 🎯 詳細頁面規格
### Page_Dialogue_Main_W - 情境對話主界面 (Web版)
#### 功能說明
- **頁面目的**: 在桌面環境中提供沉浸式的對話練習體驗
- **進入條件**: 從學習地圖選擇對話關卡,或從瀏覽器書籤進入
- **退出條件**: 完成對話或主動離開頁面
#### Web版佈局特點
- **主要對話區域**: 占螢幕60%寬度,中央對話泡泡顯示
- **角色資訊面板**: 右側20%寬度,顯示角色背景和情境
- **輔助功能面板**: 左側20%寬度,顯示提示、關鍵詞、任務進度
- **底部輸入區域**: 固定在底部,包含文字輸入和語音輸入
#### 頁面欄位細節
| 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 |
|---------|---------|------|--------|----------|----------|
| 對話情境標題 | String | 是 | - | 5-50字 | 頁面頂部顯示 |
| 對話參與角色 | Array | 是 | - | 角色陣列 | 右側面板顯示 |
| 對話歷史記錄 | Array | 是 | [] | 對話陣列 | 中央區域,可捲動 |
| 當前說話角色 | String | 是 | - | 角色ID | 動態高亮顯示 |
| 用戶回覆輸入 | String | 否 | - | 1-500字 | 底部輸入框 |
| 任務進度指示 | Number | 是 | 0 | 0-100% | 左側面板進度條 |
| 剩餘時間 | Number | 否 | - | >=0秒 | 限時挑戰時顯示 |
| 關鍵詞提示 | Array | 否 | [] | 詞彙陣列 | 左側面板列表 |
| 語音輸入狀態 | Boolean | 是 | false | true/false | 麥克風圖示狀態 |
| 對話品質評分 | Object | 否 | null | 評分物件 | 實時評分顯示 |
#### Web版互動元素
| 元素名稱 | 元素類型 | 操作方式 | 快捷鍵 | 狀態變化 | 備註 |
|---------|---------|----------|--------|----------|------|
| 文字輸入框 | 文本區域 | 點擊/自動焦點 | - | 空白→輸入中 | 支援多語言輸入法 |
| 語音輸入按鈕 | 按鈕 | 點擊/V鍵 | V | 關閉→錄音中 | Web Speech API |
| 送出回覆按鈕 | 按鈕 | 點擊/Enter鍵 | Enter | 正常→傳送中 | 主要操作按鈕 |
| 提示請求按鈕 | 按鈕 | 點擊/H鍵 | H | 正常→請求中 | 消耗道具提示 |
| 角色背景查看 | 面板 | 滑鼠懸停 | I | 收合→展開 | 右側面板互動 |
| 對話歷史捲動 | 捲動條 | 滑鼠滾輪 | ↑↓ | - | 無限捲動對話記錄 |
| 語速調節 | 滑桿 | 拖拽/+- | +/- | 0.5x-2x | 語音播放速度 |
| 全螢幕模式 | 按鈕 | 點擊/F11 | F11 | 正常↔全螢幕 | 沉浸式對話模式 |
| 多標籤切換 | 標籤頁 | 點擊/Ctrl+Tab | Ctrl+Tab | - | 切換不同對話 |
#### Web版使用者操作流程
1. **對話準備**: 頁面載入 → 檢視角色背景 → 閱讀任務目標 → 預習關鍵詞
2. **對話進行**: AI開場 → 用戶文字/語音回覆 → AI即時評分 → 繼續對話輪迴
3. **輔助使用**: 卡住時查看提示 → 使用道具 → 查看任務進度 → 調整學習策略
4. **多工學習**: 開啟新標籤 → 同時練習多個場景 → 標籤間切換比較
### Page_Dialogue_History_Dashboard_W - 對話歷史統計儀表板 (Web專用)
#### 功能說明
- **頁面目的**: 提供詳細的對話練習歷史分析和進步軌跡
- **進入條件**: 從對話分析頁面點擊"詳細統計"或從主選單進入
- **退出條件**: 返回學習模組或關閉頁面
#### Web專有功能
- **時間序列分析**: 對話表現的長期趨勢分析
- **場景表現對比**: 不同情境場景的掌握度比較
- **語言能力雷達圖**: 聽說讀寫能力的可視化分析
- **學習建議生成**: AI基於歷史數據的個性化建議
#### 頁面欄位細節
| 欄位名稱 | 資料類型 | 必填 | 預設值 | 驗證規則 | 顯示條件 |
|---------|---------|------|--------|----------|----------|
| 統計時間範圍 | DateRange | 是 | 最近30天 | 有效日期範圍 | 頁面頂部篩選器 |
| 對話總次數 | Number | 是 | 0 | >=0 | 卡片式統計顯示 |
| 平均對話時長 | Number | 是 | 0 | >=0分鐘 | 統計卡片 |
| 整體準確率 | Number | 是 | 0 | 0-100% | 統計卡片 |
| 場景完成度分布 | Object | 是 | {} | 場景統計物件 | 圓餅圖顯示 |
| 對話品質趨勢 | Array | 是 | [] | 時間序列數據 | 折線圖顯示 |
| 語言能力評估 | Object | 是 | {} | 能力評分物件 | 雷達圖顯示 |
| 常見錯誤類型 | Array | 是 | [] | 錯誤統計陣列 | 長條圖顯示 |
| 學習建議列表 | Array | 是 | [] | 建議陣列 | 列表形式顯示 |
#### Web版互動元素
| 元素名稱 | 元素類型 | 操作方式 | 快捷鍵 | 狀態變化 | 備註 |
|---------|---------|----------|--------|----------|------|
| 時間範圍篩選 | 日期選擇器 | 點擊/T鍵 | T | 收合→展開 | 自訂時間範圍 |
| 圖表類型切換 | 標籤組 | 點擊/數字鍵1-6 | 1-6 | - | 不同視覺化圖表 |
| 數據鑽取 | 圖表點擊 | 點擊圖表元素 | - | 概覽→詳細 | 深入特定數據 |
| 匯出統計報告 | 按鈕 | 點擊/Ctrl+E | Ctrl+E | 正常→處理中 | PDF/Excel匯出 |
| 列印報告 | 按鈕 | 點擊/Ctrl+P | Ctrl+P | - | 列印優化版面 |
| 全螢幕分析 | 按鈕 | 點擊/F11 | F11 | 正常↔全螢幕 | 專注分析模式 |
| 圖表縮放 | 滑鼠滾輪 | 滾輪/+- | +/- | - | 放大細節檢視 |
| 數據篩選 | 下拉選單 | 點擊/F鍵 | F | 全部→篩選 | 多維度篩選 |
### Page_Multi_Dialogue_Manager_W - 多對話管理頁面 (Web專用)
#### 功能說明
- **頁面目的**: 在單一頁面中管理多個對話練習會話
- **進入條件**: 點擊"開啟新對話"或使用快捷鍵Ctrl+T
- **退出條件**: 關閉所有對話標籤或切換到單對話模式
#### Web專有優勢
- **標籤式管理**: 類似瀏覽器標籤的對話會話管理
- **拖拽重新排列**: 可拖拽調整對話標籤順序
- **快速切換**: 鍵盤快捷鍵快速在對話間切換
- **會話同步**: 所有對話進度即時同步到雲端
## 🌐 Web端技術特點
### 響應式設計適配
- **超寬螢幕**: 2560px以上支援三欄佈局
- **標準桌面**: 1920px最佳化雙欄佈局
- **筆記本**: 1366px以上單欄加側邊欄
- **平板橫向**: 1024px以上簡化佈局
### Web API整合
- **Web Speech API**: 語音識別和語音合成
- **Clipboard API**: 複製對話內容和答案
- **Fullscreen API**: 沉浸式學習模式
- **Notification API**: 桌面通知和提醒
- **IndexedDB**: 離線對話內容快取
### 效能最佳化
- **虛擬捲動**: 長對話歷史的效能最佳化
- **懶載入**: 圖片和音頻按需載入
- **Service Worker**: 離線對話功能支援
- **Web Workers**: 背景AI分析處理
## ⌨️ Web版快捷鍵系統
### 對話操作快捷鍵
- `Enter` - 送出回覆
- `Shift + Enter` - 換行 (多行輸入)
- `Ctrl + Enter` - 強制送出
- `V` - 開始/停止語音輸入
- `H` - 請求提示
- `Space` - 播放/暫停AI語音
- `Esc` - 取消當前操作
### 頁面導航快捷鍵
- `Ctrl + T` - 開啟新對話標籤
- `Ctrl + W` - 關閉當前對話標籤
- `Ctrl + Tab` - 切換到下一個對話
- `Ctrl + Shift + Tab` - 切換到上一個對話
- `F11` - 全螢幕模式
- `Ctrl + D` - 收藏當前對話場景
### 學習輔助快捷鍵
- `I` - 顯示/隱藏角色資訊
- `K` - 顯示/隱藏關鍵詞面板
- `T` - 顯示/隱藏任務進度
- `+/-` - 調整語音播放速度
- `Ctrl + H` - 開啟對話歷史
- `F1` - 開啟快捷鍵說明
## 📊 Web版業務邏輯差異
### 對話會話管理
- **多會話支援**: 可同時進行最多5個對話練習
- **會話持久化**: 瀏覽器關閉前自動保存所有對話狀態
- **跨標籤同步**: 不同瀏覽器標籤的對話進度即時同步
- **會話恢復**: 意外關閉後可完整恢復對話狀態
### 輸入方式增強
- **混合輸入**: 文字和語音輸入可無縫切換
- **多語言支援**: 支援各種輸入法和語言切換
- **自動完成**: 常用回覆的智能建議
- **語法檢查**: 實時語法和拼寫檢查
### 分析功能強化
- **實時分析**: 對話進行中即時顯示表現評分
- **深度統計**: 比Mobile版更詳細的學習分析
- **長期追蹤**: 支援長達一年的學習軌跡分析
- **對比分析**: 可對比不同時期的學習表現
## 🧪 Web版測試要點
### 瀏覽器相容性
- [ ] Chrome 90+ Web Speech API正常運作
- [ ] Firefox 85+ 語音輸入功能正常
- [ ] Safari 14+ 多媒體播放流暢
- [ ] Edge 90+ 全功能正常運作
### 多標籤功能測試
- [ ] 可同時開啟5個對話會話
- [ ] 標籤間切換無延遲
- [ ] 每個標籤的對話狀態獨立
- [ ] 關閉標籤不影響其他會話
### 效能壓力測試
- [ ] 長對話歷史(500+輪)載入順暢
- [ ] 同時播放多個語音檔案
- [ ] 大量圖表數據渲染流暢
- [ ] 長時間使用無記憶體洩漏
### 輸入法相容性
- [ ] 中文輸入法正常運作
- [ ] 日文輸入法正常運作
- [ ] 韓文輸入法正常運作
- [ ] 各種語音輸入準確識別
## 📝 Web端開發注意事項
### 前端架構
- 使用React/Vue等現代框架
- 狀態管理使用Redux/Vuex
- 圖表使用D3.js或Chart.js
- 語音處理使用Web Audio API
### 使用者體驗
- 首屏快速載入(<2秒)
- 對話輸入無延遲響應
- 語音識別準確度>90%
- 支援各種鍵盤快捷鍵
### 資料同步
- 即時保存對話進度
- 離線狀態下的資料快取
- 跨設備同步學習記錄
- 資料備份和恢復機制
---
**文檔狀態**: 🟢 已完成
**最後更新**: 2025-09-09
**版本**: v1.0
**相關文檔**:
- `../mobile/01_情境對話功能規格.md` - 對應的Mobile版規格
- `../common/業務規則.md` - 共同業務邏輯
- `../common/數據模型.md` - 數據結構定義
- `../common/API規格.md` - API接口規格