467 lines
14 KiB
Markdown
467 lines
14 KiB
Markdown
# 用戶流程規格文件 (User Flow Specification)
|
||
|
||
## 文件概述
|
||
|
||
本文件詳細定義了戲劇化英語學習應用程式的完整用戶流程,涵蓋從新用戶註冊到深度學習的所有互動路徑。基於83個UI定義和完整的功能模組架構,提供開發團隊實作用戶體驗的藍圖。
|
||
|
||
## 主要用戶角色
|
||
|
||
- **訪客用戶 (Guest)**: 未註冊/登入的用戶
|
||
- **註冊用戶 (Registered)**: 已註冊但使用免費功能的用戶
|
||
- **付費用戶 (Premium)**: 已購買訂閱或付費內容的用戶
|
||
|
||
## 核心用戶流程
|
||
|
||
### 1. 新用戶引導流程 (Onboarding Flow)
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[應用啟動] --> B{用戶狀態}
|
||
B -->|未登入| C[UI_Login_Main]
|
||
B -->|已登入| D[UI_ChallengeLevel_Map]
|
||
|
||
C --> E[UI_SignUp_Main]
|
||
E --> F[UI_GuestIntro_Main]
|
||
F --> G[UI_GuestIntro_FormPurpose]
|
||
G --> H[UI_GuestIntro_FormLevel]
|
||
H --> I[UI_GuestIntro_FormTimeSlot]
|
||
I --> J[UI_GuestIntro_FormFrequency]
|
||
J --> K[UI_GuestIntro_Notice]
|
||
K --> L[UI_GuestIntro_Result]
|
||
L --> M[UI_LanguageLevel_Main]
|
||
M --> N[UI_LanguageLevel_Result]
|
||
N --> D
|
||
|
||
C -->|忘記密碼| O[UI_PasswordReset_Form]
|
||
O --> P[UI_PasswordReset_Popup]
|
||
```
|
||
|
||
#### 流程說明
|
||
|
||
1. **應用啟動檢查**
|
||
- 檢查用戶登入狀態
|
||
- 已登入用戶直接進入主學習地圖
|
||
- 未登入用戶進入登入頁面
|
||
|
||
2. **登入/註冊階段**
|
||
- `UI_Login_Main`: 支援帳密登入、Apple ID、Google登入
|
||
- `UI_SignUp_Main`: 新用戶註冊表單
|
||
- `UI_PasswordReset_Form/Popup`: 密碼重設流程
|
||
|
||
3. **個人化設定階段**
|
||
- `UI_GuestIntro_FormPurpose`: 學習目的選擇
|
||
- `UI_GuestIntro_FormLevel`: 當前語言程度
|
||
- `UI_GuestIntro_FormTimeSlot`: 偏好學習時段
|
||
- `UI_GuestIntro_FormFrequency`: 學習頻率設定
|
||
- `UI_GuestIntro_Notice`: 使用須知提醒
|
||
- `UI_GuestIntro_Result`: 個人化建議結果
|
||
|
||
4. **語言程度測試**
|
||
- `UI_LanguageLevel_Main`: 進行程度評估測試
|
||
- `UI_LanguageLevel_Result`: 顯示測試結果和建議
|
||
|
||
### 2. 完整學習核心流程 *(更新基於最新規格)*
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[UI_ChallengeLevel_Map] --> A1{命條檢查}
|
||
A1 -->|命條>1| B{關卡類型}
|
||
A1 -->|命條=0| A2[命條不足提示]
|
||
A2 --> A3[購買命條/等待回復]
|
||
A3 --> A
|
||
|
||
B -->|詞彙認識關卡| C[詞彙學習流程]
|
||
B -->|詞彙熟悉關卡| D[詞彙熟練流程]
|
||
B -->|對話訓練關卡| E[情境對話流程]
|
||
B -->|複習詞彙| F[間隔複習流程]
|
||
B -->|時光關卡| G[時光挑戰流程]
|
||
|
||
C --> C1[UI_VocabIntro_CardIntro]
|
||
C1 --> C2[詞彙展示學習]
|
||
C2 --> C3[UI_VocabIntro_Choice]
|
||
C3 --> C4{答題結果}
|
||
C4 -->|正確| C5{全部完成?}
|
||
C4 -->|錯誤| C6[命條-1, 題目加到最後]
|
||
C6 --> C7{命條>0?}
|
||
C7 -->|是| C5
|
||
C7 -->|否| C8[關卡失敗+時光卷]
|
||
C5 -->|是| C9[三顆星通關]
|
||
C5 -->|否| C3
|
||
C8 --> A
|
||
C9 --> C10[詞彙加入複習清單] --> A
|
||
|
||
D --> D1[UI_VocabFluency_MatchImageToWord]
|
||
D1 --> D2[例句重組練習]
|
||
D2 --> D3[UI_VocabFluency_SentenceReorder]
|
||
D3 --> D4[詞彙配對練習]
|
||
D4 --> D5{答題結果}
|
||
D5 -->|正確| D6{全部完成?}
|
||
D5 -->|錯誤| D7[命條-1, 題目加到最後]
|
||
D7 --> D8{命條>0?}
|
||
D8 -->|是| D6
|
||
D8 -->|否| D9[關卡失敗+時光卷]
|
||
D6 -->|是| D10[三顆星通關]
|
||
D6 -->|否| D1
|
||
D9 --> A
|
||
D10 --> D11[詞彙加入複習清單] --> A
|
||
|
||
E --> E1[UI_ScenarioDialog_GoalDetail]
|
||
E1 --> E2[UI_ScenarioDialog_Scene]
|
||
E2 --> E3{對話完成?}
|
||
E3 -->|是| E4[UI_ScenarioDialog_ReplyResult]
|
||
E3 -->|需要提示| E5[UI_ScenarioDialog_ReplyGuide]
|
||
E5 --> E2
|
||
E4 --> E6{評估結果}
|
||
E6 -->|通過| E7[三顆星通關]
|
||
E6 -->|需訂正| E8[命條-1, 進入訂正流程]
|
||
E8 --> E9{命條>0?}
|
||
E9 -->|是| E10[UI_DialogCorrection_GrammarExplanation_Play]
|
||
E9 -->|否| E11[關卡失敗+時光卷]
|
||
E10 --> E12[UI_DialogCorrection_GrammarRetry_Play]
|
||
E12 --> E13[UI_DialogCorrection_GrammarPass_Result]
|
||
E13 --> E6
|
||
E7 --> E14[詞彙加入複習清單] --> A
|
||
E11 --> A
|
||
|
||
F --> F1[UI_VocabReview_Main]
|
||
F1 --> F2[間隔複習算法選題]
|
||
F2 --> F3[UI_VocabReview_Choice]
|
||
F3 --> F4{答題結果}
|
||
F4 -->|正確| F5{全部完成?}
|
||
F4 -->|錯誤| F6[命條-1, 重複複習]
|
||
F6 --> F7{命條>0?}
|
||
F7 -->|是| F5
|
||
F7 -->|否| F8[關卡失敗+時光卷]
|
||
F5 -->|是| F9[三顆星通關]
|
||
F5 -->|否| F3
|
||
F8 --> A
|
||
F9 --> F10[更新複習次數] --> A
|
||
|
||
G --> G1[UI_TimeWarpChallenge_Main]
|
||
G1 --> G2[300秒倒數計時開始]
|
||
G2 --> G3[快速詞彙/對話挑戰]
|
||
G3 --> G4{時間內完成?}
|
||
G4 -->|是| G5[時光獎勵+經驗值]
|
||
G4 -->|否| G6[挑戰失敗]
|
||
G5 --> A
|
||
G6 --> A
|
||
```
|
||
|
||
#### 流程說明
|
||
|
||
1. **命條系統檢查**
|
||
- 每次進入關卡前檢查命條數量(最大5個)
|
||
- 命條不足時提示購買或等待自動回復(每5小時+1個)
|
||
- 命條歸零時關卡失敗,獲得時光卷作為安慰獎勵
|
||
|
||
2. **詞彙認識關卡流程 (C)**
|
||
- `UI_VocabIntro_CardIntro`: 展示詞彙、詞義、例句、示意圖
|
||
- `UI_VocabIntro_Choice`: 詞彙選擇題測試
|
||
- 答錯扣除命條,題目移至最後重新測試
|
||
- 全部正確獲得三顆星通關,詞彙加入複習清單
|
||
|
||
3. **詞彙熟悉關卡流程 (D)**
|
||
- `UI_VocabFluency_MatchImageToWord`: 圖片配對練習
|
||
- `UI_VocabFluency_SentenceReorder`: 例句重組練習
|
||
- 多種練習模式強化詞彙記憶
|
||
- 完成後詞彙進入複習系統
|
||
|
||
4. **情境對話關卡流程 (E)**
|
||
- `UI_ScenarioDialog_GoalDetail`: 顯示對話任務目標
|
||
- `UI_ScenarioDialog_Scene`: 主要對話界面
|
||
- **雙重完成條件**: 劇情任務完成 + 指定詞彙使用
|
||
- **回覆卡關輔助**: `UI_ScenarioDialog_ReplyGuide` 三層輔助架構
|
||
- **AI評估系統**: 語法、語意、流暢度三維度即時評分
|
||
- 需要訂正時扣除命條,提供解釋和重試機會
|
||
|
||
5. **間隔複習流程 (F)**
|
||
- `UI_VocabReview_Main`: 基於間隔複習算法選擇詞彙
|
||
- 使用公式:下次複習時間 = 當日 + (2^複習次數)
|
||
- `UI_VocabReview_Choice`: 複習測試界面
|
||
- 答錯重複複習,正確則更新複習次數
|
||
|
||
6. **時光挑戰流程 (G)**
|
||
- `UI_TimeWarpChallenge_Main`: 300秒限時挑戰
|
||
- 快速詞彙或對話測試
|
||
- 時間內完成獲得時光獎勵和經驗值
|
||
- 挑戰失敗無懲罰,可重複嘗試
|
||
|
||
### 3. 詞彙學習系統流程 (Vocabulary Learning System Flow)
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[詞彙學習系統] --> B{學習階段判定}
|
||
B -->|認識階段| C[詞彙認識關卡]
|
||
B -->|熟悉階段| D[詞彙熟悉關卡]
|
||
B -->|對話應用| E[情境對話訓練]
|
||
B -->|間隔複習| F[複習系統]
|
||
|
||
C --> C1{命條檢查}
|
||
C1 -->|命條>0| C2[UI_VocabIntro_CardIntro]
|
||
C1 -->|命條=0| C3[等待回復/購買]
|
||
C2 --> C4[詞彙展示學習]
|
||
C4 --> C5[UI_VocabIntro_Choice]
|
||
C5 --> C6{測試結果}
|
||
C6 -->|正確| C7{階段完成?}
|
||
C6 -->|錯誤| C8[命條-1, 加入最後]
|
||
C7 -->|完成| C9[進入熟悉階段]
|
||
C7 -->|繼續| C5
|
||
C8 --> C1
|
||
|
||
D --> D1[UI_VocabFluency_MatchImageToWord]
|
||
D1 --> D2[UI_VocabFluency_SentenceReorder]
|
||
D2 --> D3{熟悉度測試}
|
||
D3 -->|通過| D4[進入對話階段]
|
||
D3 -->|需加強| D1
|
||
|
||
E --> E1[情境對話中詞彙應用]
|
||
E1 --> E2{對話完成}
|
||
E2 -->|成功| E3[詞彙掌握完成]
|
||
E2 -->|需重試| E1
|
||
|
||
F --> F1[間隔複習算法]
|
||
F1 --> F2[選擇到期詞彙]
|
||
F2 --> F3[UI_VocabReview_Choice]
|
||
F3 --> F4{複習結果}
|
||
F4 -->|記住| F5[延長間隔時間]
|
||
F4 -->|遺忘| F6[重置間隔計數]
|
||
F5 --> F7[更新複習次數]
|
||
F6 --> F7
|
||
|
||
C9 --> D
|
||
D4 --> E
|
||
E3 --> F
|
||
```
|
||
|
||
### 4. 社交與競爭流程 (Social & Competition Flow)
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[社交功能入口] --> B{用戶狀態}
|
||
B -->|訪客| C[UI_SocialRanking_GuestPrompt]
|
||
B -->|註冊用戶| D[UI_SocialRanking_Main]
|
||
|
||
D --> E[UI_RankingDetail]
|
||
E --> F{競爭選項}
|
||
F -->|挑戰用戶| G[UI_TimedDialogue]
|
||
F -->|查看好友| H[UI_PersonalCenter_FriendMain]
|
||
|
||
H --> I[UI_PersonalCenter_FriendList]
|
||
I --> J[UI_PersonalCenter_OtherUserMain]
|
||
|
||
H --> K[UI_PersonalCenter_FriendSearch]
|
||
|
||
G --> L[對話挑戰結果]
|
||
L --> M[UI_LevelResult_SuccessResult]
|
||
```
|
||
|
||
### 5. 命條系統流程 (Life Points System Flow)
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[命條系統] --> B{當前命條數量}
|
||
B -->|命條>0| C[正常遊戲流程]
|
||
B -->|命條=0| D[UI_LifePoints_InsufficientPopup]
|
||
|
||
D --> E{用戶選擇}
|
||
E -->|等待回復| F[顯示回復時間]
|
||
E -->|購買命條| G[UI_ItemStore_Main]
|
||
E -->|觀看廣告| H[UI_AdOffer]
|
||
|
||
F --> F1[每5小時+1命條]
|
||
F1 --> F2{命條已回復}
|
||
F2 -->|是| C
|
||
F2 -->|否| F
|
||
|
||
G --> G1[UI_ItemStore_ConfirmPopup]
|
||
G1 --> G2{購買確認}
|
||
G2 -->|確認| G3[命條+5]
|
||
G2 -->|取消| D
|
||
G3 --> C
|
||
|
||
H --> H1[UI_AdViewing]
|
||
H1 --> H2[UI_RewardClaim]
|
||
H2 --> H3[命條+1]
|
||
H3 --> C
|
||
|
||
C --> I{學習過程中}
|
||
I -->|答錯/需訂正| J[命條-1]
|
||
J --> K{命條>0}
|
||
K -->|是| C
|
||
K -->|否| L[關卡失敗+時光卷]
|
||
L --> D
|
||
```
|
||
|
||
### 6. 商業化流程 (Monetization Flow)
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[商業功能觸發] --> B{觸發情境}
|
||
B -->|命條不足| C[UI_LifePoints_InsufficientPopup]
|
||
B -->|回覆提示不足| D[回覆提示道具購買確認]
|
||
B -->|主動購買| E[UI_ItemStore_Main]
|
||
B -->|訂閱服務| F[UI_SubscriptionPlans]
|
||
B -->|廣告獎勵| G[UI_AdOffer]
|
||
|
||
C --> E
|
||
D --> D1{鑽石是否足夠(30)}
|
||
D1 -->|足夠| D2[購買回覆提示道具]
|
||
D1 -->|不足| E
|
||
D2 --> D3[返回對話並啟用輔助功能]
|
||
D3 --> D4[UI_ScenarioDialog_ReplyGuide]
|
||
|
||
E --> H[UI_ItemStore_ConfirmPopup]
|
||
H --> I{購買確認}
|
||
I -->|確認| J[處理購買]
|
||
I -->|取消| K[返回商店]
|
||
|
||
F --> L[UI_PaymentFlow]
|
||
L --> M[UI_Subscription_Result]
|
||
|
||
G --> N[UI_AdViewing]
|
||
N --> O[UI_RewardClaim]
|
||
|
||
J --> P[UI_PurchasedContent]
|
||
M --> Q[返回主功能]
|
||
O --> Q
|
||
```
|
||
|
||
### 7. 個人中心流程 (Personal Center Flow)
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[UI_PersonalCenter_SelfMain] --> B{功能選擇}
|
||
B -->|詳細統計| C[UI_PresonalCenter_dd_Detail]
|
||
B -->|個人設定| D[UI_PersonalCenter_Settings]
|
||
B -->|好友管理| E[UI_PersonalCenter_FriendMain]
|
||
B -->|訪客狀態| F[UI_PersonalCenter_GuestPrompt]
|
||
B -->|功能鎖定| G[UI_PersonalCenter_Locked]
|
||
|
||
E --> H[UI_PersonalCenter_FriendList]
|
||
E --> I[UI_PersonalCenter_FriendSearch]
|
||
|
||
H --> J[UI_PersonalCenter_OtherUserMain]
|
||
|
||
F --> K[UI_Login_Main]
|
||
```
|
||
|
||
## 特殊流程處理
|
||
|
||
### 時間門票系統
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[需要門票功能] --> B[UI_TimeGate_ConfirmUseTicket]
|
||
B --> C{確認使用}
|
||
C -->|確認| D[消耗門票繼續]
|
||
C -->|取消| E[返回上一頁]
|
||
```
|
||
|
||
### 額外任務系統
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[UI_BonusMission_Main] --> B{任務狀態}
|
||
B -->|可完成| C[執行任務]
|
||
B -->|檢視獎勵| D[獎勵預覽]
|
||
C --> E[任務完成獎勵]
|
||
```
|
||
|
||
### 生活模擬系統
|
||
|
||
```mermaid
|
||
graph TD
|
||
A[UI_PlayLife_Main] --> B{角色狀態}
|
||
B -->|正常| C[選擇活動]
|
||
B -->|需要維護| D[角色維護]
|
||
C --> E[執行活動]
|
||
E --> F[狀態更新]
|
||
```
|
||
|
||
## 導航規則
|
||
|
||
### 全局導航
|
||
- 主學習地圖:`UI_ChallengeLevel_Map`
|
||
- 個人中心:`UI_PersonalCenter_SelfMain`
|
||
- 排行榜:`UI_SocialRanking_Main`
|
||
- 商店:`UI_ItemStore_Main`
|
||
|
||
### 返回機制
|
||
- 每個子流程都有明確的返回路徑
|
||
- 支援中途退出確認:`UI_ChallengeLevel_ExitComfirmPopup`
|
||
- 保存進度機制防止資料丟失
|
||
|
||
### 狀態保持
|
||
- 用戶登入狀態持久化
|
||
- 學習進度即時保存
|
||
- 設定偏好本地存儲
|
||
|
||
## 異常處理流程
|
||
|
||
### 網路異常
|
||
- 顯示連線錯誤提示
|
||
- 提供重試機制
|
||
- 離線模式支援(部分功能)
|
||
|
||
### 命條不足處理
|
||
- `UI_LifePoints_InsufficientPopup`: 命條不足提示
|
||
- 提供等待回復(每5小時+1)、購買、觀看廣告三種選擇
|
||
- 關卡失敗時獲得時光卷作為安慰獎勵
|
||
|
||
### 回覆卡關情境處理 *(新增功能)*
|
||
- 使用者在對話中不知道如何回應
|
||
- 觸發`UI_ScenarioDialog_ReplyGuide`三層輔助介面
|
||
- 檢查回覆提示道具庫存(30鑽石/次)
|
||
- 道具不足時引導鑽石購買流程
|
||
|
||
### 間隔複習系統異常
|
||
- 複習詞彙數據同步異常處理
|
||
- 複習算法計算錯誤回退機制
|
||
- 詞彙掌握度評估校正
|
||
|
||
### 權限不足
|
||
- 訪客提示:`UI_PersonalCenter_GuestPrompt`、`UI_SocialRanking_GuestPrompt`
|
||
- 功能鎖定:`UI_PersonalCenter_Locked`、`UI_ChallengeLevel_ChoosePopupLock`
|
||
- 升級引導流程
|
||
|
||
## 關鍵轉換點 (Conversion Points)
|
||
|
||
1. **註冊轉換**: 訪客 → 註冊用戶
|
||
2. **首次付費**: 免費用戶 → 付費用戶
|
||
3. **命條系統轉換**: 體驗命條限制 → 購買命條/觀看廣告 → 持續付費
|
||
4. **回覆輔助轉換**: 體驗回覆卡關 → 購買提示道具(30鑽石) → 重複使用輔助功能
|
||
5. **詞彙學習循環**: 完成認識→熟悉→對話→複習的完整學習閉環
|
||
6. **留存關鍵**: 建立間隔複習習慣,詞彙庫達到50個以上
|
||
7. **社交激活**: 添加首個好友並進行時光挑戰競爭
|
||
8. **習慣養成**: 連續7天使用應用,每日完成至少一個關卡
|
||
|
||
## 效能考量
|
||
|
||
- 關鍵路徑頁面載入時間 < 2秒
|
||
- 對話評估回應時間 < 3秒
|
||
- **回覆輔助功能回應時間 < 2秒** *(新增)*
|
||
- **翻譯服務回應時間 < 1.5秒** *(新增)*
|
||
- **間隔複習算法計算時間 < 0.5秒** *(新增)*
|
||
- **詞彙圖片載入時間 < 1秒** *(新增)*
|
||
- **命條狀態同步延遲 < 1秒** *(新增)*
|
||
- 離線快取常用內容和詞彙數據
|
||
- 漸進式載入非關鍵資源
|
||
- 詞彙複習數據本地快取機制
|
||
|
||
## 無障礙支援
|
||
|
||
- 支援螢幕閱讀器
|
||
- 鍵盤導航支援
|
||
- 高對比度模式
|
||
- 文字大小調整
|
||
|
||
## 多語言支援
|
||
|
||
- 介面語言切換
|
||
- 學習內容本地化
|
||
- RTL語言支援
|
||
- 語音辨識多語言
|
||
|
||
---
|
||
|
||
本文件將隨著產品迭代持續更新,確保開發團隊始終有最新的用戶流程指引。 |