情境對話功能規格文檔
📋 功能概述
功能名稱: 情境對話訓練系統
建立日期: 2025-09-08
最後更新: 2025-09-08
負責團隊: 產品/設計/開發
主要功能
- 沉浸式情境對話練習,支援多場景劇本
- 任務導向對話訓練,完成指定溝通目標
- 限時對話挑戰,提升反應速度和流暢度
- AI即時分析回饋,提供個人化學習建議
- 三維度評分系統,全面評估學習成效
- 對話訂正功能,精準糾正語法和表達問題
適用場景
- 日常生活情境對話練習(餐廳、購物、工作場合)
- 商務溝通技能訓練(會議、談判、報告)
- 文化交流場景學習(旅遊、社交、學術交流)
- 緊急或特殊場景應對(報警、求助、投訴處理)
與其他功能的關聯
- 詞彙學習系統: 整合指定詞彙到對話情境中
- 學習地圖系統: 提供情境對話的關卡和進度管理
- 道具商店系統: 回覆提示道具、加時道具的商業整合
- 命條系統: 關卡啟動消耗命條的生命管理機制
- 排行榜系統: 限時挑戰成績和社交競爭功能
📱 涉及的UI畫面
主要畫面
- UI_Dialogue_Main - 情境對話主界面
- UI_Dialogue_Analysis - AI對話分析頁面
- UI_Character_Details - 角色詳情與背景介紹
- UI_Keywords_Details - 情境關鍵詞預習頁面
- UI_Reply_Input - 進階回覆輸入系統
- UI_Reply_Assistance - 回覆卡關輔助面板
輔助畫面
- UI_Cost_Confirm_Popup - 對話成本確認彈窗
- UI_TimeWarp_Cards - 時光卷道具使用介面
- UI_Challenge_Exit_Confirm - 挑戰退出確認對話框
- UI_Task_Display - 任務完成狀態顯示
🎯 詳細畫面規格
UI_Dialogue_Main - 情境對話主界面
功能說明
- 畫面目的: 提供沉浸式的情境對話體驗,支援多模態交互和即時反饋
- 進入條件: 從學習地圖選擇關卡,或通過任務系統進入
- 退出條件: 完成對話任務、主動退出、或資源不足
畫面欄位細節
| 欄位名稱 |
資料類型 |
必填 |
預設值 |
驗證規則 |
顯示條件 |
| 場景背景圖片 |
Image URL |
否 |
預設場景圖 |
有效圖片格式 |
始終顯示 |
| 角色頭像 |
Image URL |
是 |
- |
有效圖片格式 |
始終顯示 |
| 角色對話內容 |
String |
是 |
- |
1-200字 |
對話進行中 |
| 用戶回覆輸入框 |
String |
是 |
"請輸入你的回覆..." |
1-500字 |
等待用戶回覆 |
| 劇情任務顯示區 |
Object |
是 |
- |
任務物件格式 |
有活躍任務時 |
| 指定詞彙顯示區 |
Array |
否 |
[] |
詞彙陣列 |
有指定詞彙時 |
| 300秒倒數計時器 |
Number |
否 |
300 |
0-300秒 |
限時挑戰模式 |
| 命條顯示 |
Number |
是 |
用戶當前命條 |
依用戶等級而定 |
始終顯示 |
| 鑽石數量顯示 |
Number |
是 |
用戶當前鑽石 |
≥0 |
始終顯示 |
互動元素
| 元素名稱 |
元素類型 |
點擊行為 |
狀態變化 |
備註 |
| 發送回覆按鈕 |
按鈕 |
提交用戶回覆,觸發AI分析 |
禁用->啟用 |
輸入內容後可用 |
| 語音輸入按鈕 |
按鈕 |
開啟語音識別輸入 |
正常->錄音中 |
長按錄音,鬆開結束 |
| 回覆輔助按鈕 |
按鈕 |
開啟回覆提示面板 |
正常->彈出面板 |
消耗30鑽石 |
| 角色詳情按鈕 |
按鈕 |
跳轉到角色詳情頁 |
- |
提供角色背景資訊 |
| 關鍵詞按鈕 |
按鈕 |
跳轉到關鍵詞詳情頁 |
- |
預習場景相關詞彙 |
| 任務提示按鈕 |
按鈕 |
顯示任務完成範例 |
- |
免費功能,任務完成後隱藏 |
| 詞彙使用按鈕 |
按鈕 |
展示指定詞彙用法 |
- |
免費功能 |
| 中翻英按鈕 |
按鈕 |
將中文翻譯為英文 |
- |
免費功能 |
| 退出挑戰按鈕 |
按鈕 |
彈出退出確認對話框 |
- |
需要二次確認 |
使用者操作流程
- 進入對話: 選擇場景 → 確認消耗資源 → 載入對話環境 → 查看角色開場白
- 對話互動: 閱讀角色對話 → 思考回覆內容 → 輸入回覆(文字/語音) → 確認發送
- AI分析: 系統分析回覆 → 即時語法檢查 → 任務完成度評估 → 詞彙使用確認
- 即時反饋: 顯示語法正確性 → 任務狀態更新 → 詞彙使用動畫 → 繼續對話或進入下一輪
- 完成結算: 對話結束 → 三維度評分 → 獎勵發放 → 跳轉結果頁面
異常狀況處理
- 網路中斷: 顯示重新連接提示 → 嘗試恢復對話狀態 → 保存當前進度
- 輸入超時: 限時模式下顯示時間警告 → 自動提交空回覆
- 命條不足: 無法進入關卡 → 提供購買命條選項 → 或返回主畫面
- 語音識別失敗: 顯示錯誤提示 → 提供重新錄音選項 → 或切換文字輸入
- 鑽石不足: 回覆輔助功能時顯示不足提示 → 引導到商店購買 → 或提供免費替代方案
資料需求
頁面載入時需要的資料
{
"api_endpoint": "/api/dialogue/session/start",
"method": "POST",
"parameters": {
"scenario_id": "string",
"user_id": "string",
"difficulty_level": "beginner|intermediate|advanced"
},
"response_format": {
"session_id": "string",
"scenario_info": {
"background_image": "url",
"character": {
"name": "string",
"avatar": "url",
"personality": "string"
},
"keywords": ["string"]
},
"tasks": [
{
"id": "string",
"description": "string",
"status": "pending|completed"
}
],
"user_resources": {
"life_points": "number",
"diamonds": "number"
}
}
}
用戶操作觸發的API呼叫
{
"action": "發送回覆",
"api_endpoint": "/api/dialogue/reply",
"method": "POST",
"request_body": {
"session_id": "string",
"reply_text": "string",
"reply_type": "text|voice",
"timestamp": "datetime"
}
},
{
"action": "請求回覆輔助",
"api_endpoint": "/api/dialogue/assistance",
"method": "POST",
"request_body": {
"session_id": "string",
"context": "string",
"assistance_type": "intention_analysis|thinking_guide|reply_examples"
}
}
視覺設計要求
- 色彩: 使用主品牌色(青綠色#00E5CC)作為重點強調色,對話氣泡區分用戶和角色
- 字體: 中文使用PingFang TC,英文使用Inter,對話內容採用16px基準字體大小
- 間距: 對話氣泡間距24px,輸入區域與對話區域間距40px
- 動畫:
- 對話氣泡出現採用滑入動畫(0.3s ease-out)
- 詞彙使用成功時觸發慶祝動畫(1.2x放大+發光效果)
- 任務完成時顯示成就彈窗動畫(彈性彈出+旋轉效果)
- 響應式: 支援手機豎屏(375px-414px)和平板橫屏(768px+)佈局
技術限制與考量
- 效能要求: 頁面載入時間<2秒,API回應時間<1秒,語音識別回應<3秒
- 瀏覽器相容: 支援iOS Safari 14+、Android Chrome 90+、桌面版Chrome/Firefox最新版
- 網路狀況: 低網路環境下優先載入文字內容,音頻採用延遲載入
- 無障礙: 支援螢幕閱讀器,提供鍵盤導航,語音輸入按鈕提供視覺和觸覺反饋
UI_Reply_Assistance - 回覆卡關輔助面板
功能說明
- 畫面目的: 當用戶在對話中遇到困難時,提供三層式輔助內容,幫助用戶理解情境和組織回覆
- 進入條件: 用戶點擊"回覆輔助"按鈕,且鑽石數量≥30
- 退出條件: 用戶選擇使用建議或主動關閉面板
畫面欄位細節
| 欄位名稱 |
資料類型 |
必填 |
預設值 |
驗證規則 |
顯示條件 |
| 對方意圖分析 |
String |
是 |
- |
50-200字 |
始終顯示 |
| 回應思緒引導 |
String |
是 |
- |
50-200字 |
始終顯示 |
| 回覆範例內容 |
String |
是 |
- |
20-100字 |
始終顯示 |
| 消耗鑽石提示 |
Number |
是 |
30 |
固定值30 |
始終顯示 |
| 關閉按鈕 |
Button |
是 |
- |
- |
始終顯示 |
| 使用建議按鈕 |
Button |
是 |
- |
- |
始終顯示 |
互動元素
| 元素名稱 |
元素類型 |
點擊行為 |
狀態變化 |
備註 |
| 意圖分析展開按鈕 |
按鈕 |
展開/收合詳細分析 |
收合->展開 |
提供更深入的意圖解釋 |
| 思緒引導展開按鈕 |
按鈕 |
展開/收合引導步驟 |
收合->展開 |
分步驟的思考指導 |
| 範例回覆採用按鈕 |
按鈕 |
將範例填入回覆框 |
正常->已採用 |
用戶可進一步修改 |
| 關閉面板按鈕 |
按鈕 |
關閉輔助面板 |
顯示->隱藏 |
不消耗鑽石 |
UI_Challenge_Exit_Confirm - 挑戰退出確認對話框
功能說明
- 畫面目的: 在用戶嘗試退出限時挑戰時進行二次確認,避免意外操作
- 進入條件: 用戶在進行中的挑戰中點擊退出按鈕
- 退出條件: 用戶確認退出或取消操作
畫面欄位細節
| 欄位名稱 |
資料類型 |
必填 |
預設值 |
驗證規則 |
顯示條件 |
| 警告標題 |
String |
是 |
"確認退出挑戰?" |
- |
始終顯示 |
| 後果說明 |
String |
是 |
"退出將失去當前進度" |
- |
始終顯示 |
| 剩餘時間 |
Number |
是 |
當前剩餘秒數 |
0-300 |
限時模式顯示 |
| 確認退出按鈕 |
Button |
是 |
- |
- |
始終顯示 |
| 取消按鈕 |
Button |
是 |
- |
- |
始終顯示 |
🔄 完整使用者流程
主要流程圖
[學習地圖選擇關卡]
↓
[UI_Cost_Confirm_Popup 確認消耗] → [UI_Dialogue_Main 對話界面]
↓
[查看角色和任務] → [UI_Character_Details / UI_Keywords_Details]
↓
[進行對話互動] → [輸入回覆 / 語音輸入]
↓
[AI即時分析] → [UI_Dialogue_Analysis 分析結果]
↓
[完成對話任務] → [UI_Task_Display 任務結果]
分支流程
- 回覆卡關: 需要輔助 → UI_Reply_Assistance → 獲得引導 → 繼續對話
- 限時挑戰: 300秒倒數 → 時間不足 → 使用加時道具 → 延長時間
- 命條不足: 無法進入關卡 → 提供購買補命道具 → 或等待自然恢復
- 任務失敗: 重新嘗試 → 或使用時光卷 → 挑戰前階段關卡
錯誤流程
- 網路中斷: 顯示連接錯誤 → 嘗試重連 → 保存進度 → 提供離線模式
- 語音識別失敗: 提示重新錄音 → 或切換文字輸入 → 繼續對話
- 支付失敗: 顯示支付錯誤 → 檢查餘額 → 重新嘗試 → 或選擇其他支付方式
📊 商業邏輯規則
營收相關
- 回覆提示道具: 30鑽石/次,提供三層式智慧引導
- 300秒限時挑戰: 首次免費,後續50鑽石/次入場費
- 加時道具: 300鑽石,增加63秒挑戰時間
- 命條系統: 詳細規格請參閱 → 共同業務規則 - 命條系統
遊戲化機制
- 雙重任務系統: 劇情任務+指定詞彙使用,同時完成獲得雙倍獎勵
- 即時成就反饋: 任務完成、詞彙使用觸發慶祝動畫
- 三維度評分: 語意合適性、語法正確性、表達流暢性各100分
- 星級評分: 基於三維度得分給予1-3顆星評價
用戶體驗規則
- 智慧輔助: 從輔助學習逐步過渡到獨立表達
- 漸進引導: 免費任務提示→付費深度引導→完全獨立
- 時間壓力管理: 300秒倒數+警告系統+緊急道具支援
🧪 測試要點
功能測試
介面測試
整合測試
📝 開發注意事項
前端開發
- 語音識別需要處理瀏覽器權限請求
- 對話氣泡需要支援動態內容高度調整
- 限時模式需要精確的倒數計時實現
- 回覆輔助面板需要優雅的滑出動畫
後端開發
- AI對話分析需要即時回應,建議API響應時間<1秒
- 對話會話需要保持狀態,支援斷線重連
- 三維度評分算法需要準確且一致
- 任務完成判定需要支援複雜邏輯
整合注意事項
- WebRTC語音功能需要HTTPS環境
- 對話數據需要即時同步到學習記錄
- 道具使用需要防重複消費機制
- 命條系統需要跨模組數據一致性(參考共同業務規則)
📚 參考資源
- UI截圖:
docs/02_design/views/UI_Dialogue_Main.png
docs/02_design/views/UI_Reply_Assistance.png
docs/02_design/views/UI_Character_Details.png
- User Flow:
docs/04_technical/user-flow-specification.md - 情境對話系統章節
- API文檔:
docs/04_technical/api/dialogue-practice.md
- 設計規範:
docs/02_design/ui-ux-guidelines.md
📅 版本歷史
| 版本 |
日期 |
修改內容 |
修改者 |
| v1.0 |
2025-09-08 |
初始版本建立,基於User Flow規格整合 |
Claude AI |
文檔狀態: 🟢 已完成
最後檢查: 2025-09-08
下次檢查: 2025-09-15