779 lines
28 KiB
Markdown
779 lines
28 KiB
Markdown
# Drama Ling 完整用戶流程圖
|
||
|
||
**文檔名稱**: 基於現行規格的完整用戶流程設計
|
||
**建立日期**: 2025-09-10
|
||
**基於規格**: `/docs/02_design/function-specs/` 完整規格
|
||
**涵蓋平台**: Mobile App + Web App
|
||
|
||
## 🎯 總體用戶流程概覽
|
||
|
||
```mermaid
|
||
graph TD
|
||
START([用戶訪問應用]) --> AUTH_CHECK{已登入?}
|
||
|
||
AUTH_CHECK -->|否| AUTH_FLOW[認證流程]
|
||
AUTH_CHECK -->|是| MAIN_APP[主應用程序]
|
||
|
||
AUTH_FLOW --> REGISTER[註冊流程]
|
||
AUTH_FLOW --> LOGIN[登入流程]
|
||
AUTH_FLOW --> FORGOT[忘記密碼]
|
||
|
||
REGISTER --> PROFILE_SETUP[個人資料設定]
|
||
LOGIN --> MAIN_APP
|
||
FORGOT --> RESET_PASSWORD[密碼重設]
|
||
|
||
PROFILE_SETUP --> ONBOARDING[新手引導]
|
||
RESET_PASSWORD --> LOGIN
|
||
|
||
ONBOARDING --> MAIN_APP
|
||
|
||
MAIN_APP --> LEARNING_MAP[學習地圖]
|
||
MAIN_APP --> VOCAB[詞彙學習]
|
||
MAIN_APP --> DIALOGUE[情境對話]
|
||
MAIN_APP --> SHOP[道具商店]
|
||
MAIN_APP --> PROFILE[個人資料]
|
||
|
||
style START fill:#e1f5fe
|
||
style MAIN_APP fill:#c8e6c9
|
||
style AUTH_FLOW fill:#fff3e0
|
||
style LEARNING_MAP fill:#f3e5f5
|
||
style VOCAB fill:#e8f5e8
|
||
style DIALOGUE fill:#fff9c4
|
||
style SHOP fill:#fce4ec
|
||
```
|
||
|
||
## 🔐 用戶認證流程
|
||
|
||
### 完整認證流程圖
|
||
|
||
```mermaid
|
||
graph TD
|
||
LANDING[Landing Page] --> LOGIN_CHOICE{選擇登入方式}
|
||
|
||
LOGIN_CHOICE -->|新用戶| REGISTER_START[開始註冊]
|
||
LOGIN_CHOICE -->|舊用戶| LOGIN_START[開始登入]
|
||
LOGIN_CHOICE -->|第三方| OAUTH[第三方認證]
|
||
|
||
%% 註冊流程
|
||
REGISTER_START --> EMAIL_INPUT[輸入Email]
|
||
EMAIL_INPUT --> EMAIL_VERIFY[Email驗證]
|
||
EMAIL_VERIFY --> PASSWORD_SET[設定密碼]
|
||
PASSWORD_SET --> PROFILE_INFO[基本資料]
|
||
PROFILE_INFO --> LEARNING_LEVEL[學習程度設定]
|
||
LEARNING_LEVEL --> TRIAL_OFFER[試用方案選擇]
|
||
|
||
%% 登入流程
|
||
LOGIN_START --> CREDENTIALS[輸入帳密]
|
||
CREDENTIALS --> LOGIN_VERIFY[驗證登入]
|
||
LOGIN_VERIFY -->|成功| CHECK_SUBSCRIPTION[檢查訂閱狀態]
|
||
LOGIN_VERIFY -->|失敗| LOGIN_ERROR[登入錯誤處理]
|
||
LOGIN_ERROR --> FORGOT_PASSWORD[忘記密碼?]
|
||
|
||
%% 第三方登入
|
||
OAUTH --> OAUTH_VERIFY[第三方驗證]
|
||
OAUTH_VERIFY --> ACCOUNT_LINK[帳戶關聯]
|
||
|
||
%% 最終導向
|
||
TRIAL_OFFER --> WELCOME_SCREEN[歡迎頁面]
|
||
CHECK_SUBSCRIPTION --> WELCOME_SCREEN
|
||
ACCOUNT_LINK --> WELCOME_SCREEN
|
||
FORGOT_PASSWORD --> PASSWORD_RESET[密碼重設流程]
|
||
PASSWORD_RESET --> LOGIN_START
|
||
|
||
WELCOME_SCREEN --> MAIN_DASHBOARD[主控制台]
|
||
|
||
style REGISTER_START fill:#e8f5e8
|
||
style LOGIN_START fill:#fff3e0
|
||
style OAUTH fill:#f3e5f5
|
||
style WELCOME_SCREEN fill:#c8e6c9
|
||
```
|
||
|
||
### 用戶角色與權限流程
|
||
|
||
```mermaid
|
||
graph LR
|
||
USER_LOGIN[用戶登入] --> ROLE_CHECK{檢查用戶角色}
|
||
|
||
ROLE_CHECK -->|免費用戶| FREE_USER[免費用戶權限]
|
||
ROLE_CHECK -->|試用用戶| TRIAL_USER[試用用戶權限]
|
||
ROLE_CHECK -->|訂閱用戶| SUBSCRIBER[訂閱用戶權限]
|
||
ROLE_CHECK -->|管理員| ADMIN[管理員權限]
|
||
|
||
FREE_USER --> FREE_LIMITS[基礎對話練習 3次/日<br/>基礎詞庫<br/>簡化版報告]
|
||
TRIAL_USER --> TRIAL_LIMITS[無限對話練習(7天)<br/>完整詞庫<br/>詳細版報告<br/>離線模式]
|
||
SUBSCRIBER --> SUB_LIMITS[無限制存取<br/>完整功能<br/>詳細分析<br/>數據匯出]
|
||
ADMIN --> ADMIN_LIMITS[完整管理功能<br/>系統監控<br/>用戶管理]
|
||
|
||
style FREE_USER fill:#ffebee
|
||
style TRIAL_USER fill:#fff3e0
|
||
style SUBSCRIBER fill:#e8f5e8
|
||
style ADMIN fill:#e3f2fd
|
||
```
|
||
|
||
## 🗺️ 學習地圖流程
|
||
|
||
### 學習路徑導航流程
|
||
|
||
```mermaid
|
||
graph TD
|
||
MAP_ENTRY[進入學習地圖] --> PROGRESS_LOAD[載入學習進度]
|
||
PROGRESS_LOAD --> MAP_OVERVIEW[地圖總覽顯示]
|
||
|
||
MAP_OVERVIEW --> LEVEL_SELECT{選擇關卡}
|
||
|
||
LEVEL_SELECT -->|已解鎖| LEVEL_AVAILABLE[可用關卡]
|
||
LEVEL_SELECT -->|未解鎖| LEVEL_LOCKED[鎖定關卡]
|
||
LEVEL_SELECT -->|已完成| LEVEL_COMPLETED[已完成關卡]
|
||
|
||
LEVEL_AVAILABLE --> LEVEL_DETAILS[關卡詳情頁]
|
||
LEVEL_LOCKED --> UNLOCK_CONDITION[解鎖條件說明]
|
||
LEVEL_COMPLETED --> REVIEW_OPTION{重複練習?}
|
||
|
||
LEVEL_DETAILS --> DIFFICULTY_SELECT[選擇難度]
|
||
UNLOCK_CONDITION --> PROGRESS_NEEDED[需要完成的前置關卡]
|
||
REVIEW_OPTION -->|是| LEVEL_DETAILS
|
||
REVIEW_OPTION -->|否| ACHIEVEMENT_CHECK[查看成就]
|
||
|
||
DIFFICULTY_SELECT --> LEARNING_TYPE{學習類型}
|
||
PROGRESS_NEEDED --> MAP_OVERVIEW
|
||
|
||
LEARNING_TYPE -->|詞彙學習| VOCAB_FLOW[進入詞彙學習]
|
||
LEARNING_TYPE -->|情境對話| DIALOGUE_FLOW[進入對話練習]
|
||
|
||
ACHIEVEMENT_CHECK --> BADGE_DISPLAY[徽章展示]
|
||
BADGE_DISPLAY --> MAP_OVERVIEW
|
||
|
||
style MAP_ENTRY fill:#f3e5f5
|
||
style LEVEL_AVAILABLE fill:#e8f5e8
|
||
style LEVEL_LOCKED fill:#ffebee
|
||
style LEVEL_COMPLETED fill:#fff3e0
|
||
```
|
||
|
||
### 成就系統流程
|
||
|
||
```mermaid
|
||
graph LR
|
||
ACHIEVEMENT_TRIGGER[成就觸發事件] --> ACHIEVEMENT_CHECK{檢查成就條件}
|
||
|
||
ACHIEVEMENT_CHECK -->|達成| ACHIEVEMENT_UNLOCK[解鎖成就]
|
||
ACHIEVEMENT_CHECK -->|未達成| PROGRESS_UPDATE[更新進度]
|
||
|
||
ACHIEVEMENT_UNLOCK --> REWARD_GRANT[發放獎勵]
|
||
REWARD_GRANT --> NOTIFICATION[成就通知]
|
||
|
||
NOTIFICATION --> BADGE_ADD[添加徽章]
|
||
BADGE_ADD --> XP_REWARD[經驗值獎勵]
|
||
XP_REWARD --> DIAMOND_REWARD[鑽石獎勵]
|
||
|
||
DIAMOND_REWARD --> ACHIEVEMENT_GALLERY[成就畫廊更新]
|
||
PROGRESS_UPDATE --> ACHIEVEMENT_GALLERY
|
||
|
||
style ACHIEVEMENT_UNLOCK fill:#e8f5e8
|
||
style REWARD_GRANT fill:#fff3e0
|
||
style BADGE_ADD fill:#f3e5f5
|
||
```
|
||
|
||
## 📚 詞彙學習流程
|
||
|
||
### 完整詞彙學習流程
|
||
|
||
```mermaid
|
||
graph TD
|
||
VOCAB_START[開始詞彙學習] --> VOCAB_TYPE{選擇學習模式}
|
||
|
||
VOCAB_TYPE -->|新詞學習| NEW_VOCAB[新詞彙介紹]
|
||
VOCAB_TYPE -->|複習模式| REVIEW_VOCAB[複習詞彙]
|
||
VOCAB_TYPE -->|測驗模式| TEST_VOCAB[詞彙測驗]
|
||
|
||
%% 新詞學習流程
|
||
NEW_VOCAB --> VOCAB_INTRO[詞彙介紹頁面]
|
||
VOCAB_INTRO --> PRONUNCIATION[發音播放]
|
||
PRONUNCIATION --> EXAMPLES[例句展示]
|
||
EXAMPLES --> MEMORY_TIPS[記憶提示]
|
||
MEMORY_TIPS --> PRACTICE_START[開始練習]
|
||
|
||
%% 複習模式流程
|
||
REVIEW_VOCAB --> DUE_CHECK[檢查待複習詞彙]
|
||
DUE_CHECK -->|有待複習| REVIEW_SESSION[複習會話]
|
||
DUE_CHECK -->|無待複習| NO_REVIEW[沒有待複習詞彙]
|
||
NO_REVIEW --> NEW_VOCAB
|
||
|
||
%% 測驗模式流程
|
||
TEST_VOCAB --> TEST_TYPE{選擇測驗類型}
|
||
TEST_TYPE -->|選擇題| CHOICE_TEST[選擇題測驗]
|
||
TEST_TYPE -->|配對題| MATCHING_TEST[配對測驗]
|
||
TEST_TYPE -->|填空題| FILL_BLANK[填空測驗]
|
||
|
||
%% 練習流程
|
||
PRACTICE_START --> PRACTICE_TYPE{練習類型}
|
||
REVIEW_SESSION --> PRACTICE_TYPE
|
||
CHOICE_TEST --> PRACTICE_TYPE
|
||
MATCHING_TEST --> PRACTICE_TYPE
|
||
FILL_BLANK --> PRACTICE_TYPE
|
||
|
||
PRACTICE_TYPE -->|選擇題練習| CHOICE_PRACTICE[選擇題練習]
|
||
PRACTICE_TYPE -->|流暢度配對| FLUENCY_MATCHING[流暢度配對]
|
||
PRACTICE_TYPE -->|句子重組| SENTENCE_REORG[句子重組]
|
||
|
||
%% 答題處理
|
||
CHOICE_PRACTICE --> ANSWER_CHECK{答案檢查}
|
||
FLUENCY_MATCHING --> ANSWER_CHECK
|
||
SENTENCE_REORG --> ANSWER_CHECK
|
||
|
||
ANSWER_CHECK -->|正確| CORRECT_FEEDBACK[正確回饋]
|
||
ANSWER_CHECK -->|錯誤| INCORRECT_FEEDBACK[錯誤回饋]
|
||
|
||
CORRECT_FEEDBACK --> XP_GAIN[經驗值獲得]
|
||
INCORRECT_FEEDBACK --> LIFE_CONSUME[消耗命條]
|
||
|
||
XP_GAIN --> PROGRESS_UPDATE[更新學習進度]
|
||
LIFE_CONSUME --> LIFE_CHECK{命條檢查}
|
||
|
||
LIFE_CHECK -->|命條>0| PROGRESS_UPDATE
|
||
LIFE_CHECK -->|命條=0| LIFE_DEPLETED[命條耗盡]
|
||
|
||
PROGRESS_UPDATE --> MASTERY_CHECK{掌握度檢查}
|
||
|
||
MASTERY_CHECK -->|未掌握| CONTINUE_PRACTICE[繼續練習]
|
||
MASTERY_CHECK -->|已掌握| MASTERY_ACHIEVED[詞彙掌握]
|
||
|
||
CONTINUE_PRACTICE --> PRACTICE_TYPE
|
||
MASTERY_ACHIEVED --> SESSION_COMPLETE[學習會話完成]
|
||
LIFE_DEPLETED --> LIFE_RECOVER[命條恢復選項]
|
||
|
||
LIFE_RECOVER --> WATCH_AD[觀看廣告]
|
||
LIFE_RECOVER --> BUY_LIVES[購買命條]
|
||
LIFE_RECOVER --> WAIT_TIMER[等待恢復]
|
||
|
||
WATCH_AD --> PRACTICE_TYPE
|
||
BUY_LIVES --> SHOP_FLOW[前往商店]
|
||
WAIT_TIMER --> END_SESSION[結束會話]
|
||
|
||
SESSION_COMPLETE --> RESULTS_DISPLAY[結果展示]
|
||
END_SESSION --> RESULTS_DISPLAY
|
||
|
||
style NEW_VOCAB fill:#e8f5e8
|
||
style REVIEW_VOCAB fill:#fff3e0
|
||
style TEST_VOCAB fill:#f3e5f5
|
||
style CORRECT_FEEDBACK fill:#c8e6c9
|
||
style INCORRECT_FEEDBACK fill:#ffcdd2
|
||
style LIFE_DEPLETED fill:#ffebee
|
||
```
|
||
|
||
### 間隔複習算法流程
|
||
|
||
```mermaid
|
||
graph TD
|
||
WORD_REVIEW[詞彙複習] --> ANSWER_QUALITY{回答品質評估}
|
||
|
||
ANSWER_QUALITY -->|Again(1)| RESET_INTERVAL[重置間隔 = 1天]
|
||
ANSWER_QUALITY -->|Hard(2)| HARD_INTERVAL[間隔 × 1.2]
|
||
ANSWER_QUALITY -->|Good(3)| GOOD_INTERVAL[間隔 × ease_factor]
|
||
ANSWER_QUALITY -->|Easy(4)| EASY_INTERVAL[間隔 × ease_factor × 1.3]
|
||
|
||
RESET_INTERVAL --> UPDATE_EASE_FACTOR[更新容易度因子]
|
||
HARD_INTERVAL --> UPDATE_EASE_FACTOR
|
||
GOOD_INTERVAL --> UPDATE_EASE_FACTOR
|
||
EASY_INTERVAL --> UPDATE_EASE_FACTOR
|
||
|
||
UPDATE_EASE_FACTOR --> CALCULATE_NEXT[計算下次複習時間]
|
||
CALCULATE_NEXT --> UPDATE_MASTERY[更新掌握度]
|
||
|
||
UPDATE_MASTERY --> MASTERY_CHECK{掌握度 ≥ 80%?}
|
||
MASTERY_CHECK -->|是| MASTERED[標記為已掌握]
|
||
MASTERY_CHECK -->|否| SCHEDULE_NEXT[安排下次複習]
|
||
|
||
MASTERED --> GRADUATION[從複習池移除]
|
||
SCHEDULE_NEXT --> REVIEW_QUEUE[加入複習佇列]
|
||
|
||
style RESET_INTERVAL fill:#ffcdd2
|
||
style HARD_INTERVAL fill:#fff3e0
|
||
style GOOD_INTERVAL fill:#e8f5e8
|
||
style EASY_INTERVAL fill:#c8e6c9
|
||
style MASTERED fill:#a5d6a7
|
||
```
|
||
|
||
## 💬 情境對話流程
|
||
|
||
### 完整對話練習流程
|
||
|
||
```mermaid
|
||
graph TD
|
||
DIALOGUE_START[開始對話練習] --> SCENARIO_SELECT[選擇對話場景]
|
||
SCENARIO_SELECT --> CHARACTER_INTRO[角色介紹]
|
||
CHARACTER_INTRO --> CONTEXT_SETUP[情境背景說明]
|
||
CONTEXT_SETUP --> KEYWORDS_PREVIEW[關鍵詞預覽]
|
||
|
||
KEYWORDS_PREVIEW --> DIALOGUE_BEGIN[開始對話]
|
||
DIALOGUE_BEGIN --> AI_RESPONSE[AI角色回應]
|
||
AI_RESPONSE --> USER_INPUT{用戶輸入方式}
|
||
|
||
USER_INPUT -->|文字輸入| TEXT_INPUT[文字輸入框]
|
||
USER_INPUT -->|語音輸入| VOICE_INPUT[語音輸入]
|
||
USER_INPUT -->|選擇回應| QUICK_REPLY[快速回應選項]
|
||
|
||
TEXT_INPUT --> INPUT_ANALYSIS[輸入分析]
|
||
VOICE_INPUT --> SPEECH_RECOGNITION[語音識別]
|
||
QUICK_REPLY --> INPUT_ANALYSIS
|
||
|
||
SPEECH_RECOGNITION --> PRONUNCIATION_CHECK[發音檢查]
|
||
PRONUNCIATION_CHECK --> INPUT_ANALYSIS
|
||
|
||
INPUT_ANALYSIS --> AI_EVALUATION[AI評估回應]
|
||
AI_EVALUATION --> GRAMMAR_CHECK[語法檢查]
|
||
GRAMMAR_CHECK --> SEMANTIC_CHECK[語意檢查]
|
||
SEMANTIC_CHECK --> CONTEXT_CHECK[情境適配檢查]
|
||
|
||
CONTEXT_CHECK --> FEEDBACK_GENERATE[生成回饋]
|
||
FEEDBACK_GENERATE --> RESPONSE_QUALITY{回應品質}
|
||
|
||
RESPONSE_QUALITY -->|優秀| EXCELLENT_FEEDBACK[優秀回饋]
|
||
RESPONSE_QUALITY -->|良好| GOOD_FEEDBACK[良好回饋]
|
||
RESPONSE_QUALITY -->|需改進| IMPROVEMENT_FEEDBACK[改進建議]
|
||
RESPONSE_QUALITY -->|不當| INAPPROPRIATE_FEEDBACK[不當回應處理]
|
||
|
||
EXCELLENT_FEEDBACK --> HIGH_XP[高經驗值獲得]
|
||
GOOD_FEEDBACK --> MEDIUM_XP[中等經驗值]
|
||
IMPROVEMENT_FEEDBACK --> LOW_XP[低經驗值]
|
||
INAPPROPRIATE_FEEDBACK --> NO_XP[無經驗值]
|
||
|
||
HIGH_XP --> DIALOGUE_CONTINUE{對話繼續?}
|
||
MEDIUM_XP --> DIALOGUE_CONTINUE
|
||
LOW_XP --> CORRECTION_OPTION[提供修正建議]
|
||
NO_XP --> LIFE_CONSUME[消耗命條]
|
||
|
||
CORRECTION_OPTION --> DIALOGUE_CONTINUE
|
||
LIFE_CONSUME --> LIFE_CHECK{命條檢查}
|
||
|
||
LIFE_CHECK -->|命條>0| DIALOGUE_CONTINUE
|
||
LIFE_CHECK -->|命條=0| DIALOGUE_END[對話結束]
|
||
|
||
DIALOGUE_CONTINUE -->|是| NEXT_TURN[下一輪對話]
|
||
DIALOGUE_CONTINUE -->|否| DIALOGUE_COMPLETE[對話完成]
|
||
|
||
NEXT_TURN --> AI_RESPONSE
|
||
DIALOGUE_COMPLETE --> DIALOGUE_ANALYSIS[對話分析]
|
||
DIALOGUE_END --> DIALOGUE_ANALYSIS
|
||
|
||
DIALOGUE_ANALYSIS --> PERFORMANCE_REPORT[表現報告]
|
||
PERFORMANCE_REPORT --> GRAMMAR_ANALYSIS[語法分析]
|
||
GRAMMAR_ANALYSIS --> VOCABULARY_USAGE[詞彙使用分析]
|
||
VOCABULARY_USAGE --> FLUENCY_SCORE[流暢度評分]
|
||
FLUENCY_SCORE --> IMPROVEMENT_SUGGESTIONS[改進建議]
|
||
|
||
IMPROVEMENT_SUGGESTIONS --> RESULTS_DISPLAY[結果展示]
|
||
|
||
style EXCELLENT_FEEDBACK fill:#c8e6c9
|
||
style GOOD_FEEDBACK fill:#e8f5e8
|
||
style IMPROVEMENT_FEEDBACK fill:#fff3e0
|
||
style INAPPROPRIATE_FEEDBACK fill:#ffcdd2
|
||
style LIFE_CONSUME fill:#ffebee
|
||
```
|
||
|
||
### 對話AI分析流程
|
||
|
||
```mermaid
|
||
graph LR
|
||
USER_INPUT[用戶輸入] --> NLP_PROCESSING[NLP處理]
|
||
NLP_PROCESSING --> TOKENIZATION[詞元化]
|
||
TOKENIZATION --> POS_TAGGING[詞性標註]
|
||
POS_TAGGING --> SYNTAX_ANALYSIS[語法分析]
|
||
|
||
SYNTAX_ANALYSIS --> GRAMMAR_CHECK[語法檢查]
|
||
SYNTAX_ANALYSIS --> SEMANTIC_ANALYSIS[語意分析]
|
||
SYNTAX_ANALYSIS --> CONTEXT_MATCHING[情境匹配]
|
||
|
||
GRAMMAR_CHECK --> SCORE_GRAMMAR[語法分數]
|
||
SEMANTIC_ANALYSIS --> SCORE_SEMANTIC[語意分數]
|
||
CONTEXT_MATCHING --> SCORE_CONTEXT[情境分數]
|
||
|
||
SCORE_GRAMMAR --> OVERALL_SCORE[總體評分]
|
||
SCORE_SEMANTIC --> OVERALL_SCORE
|
||
SCORE_CONTEXT --> OVERALL_SCORE
|
||
|
||
OVERALL_SCORE --> FEEDBACK_GENERATION[回饋生成]
|
||
FEEDBACK_GENERATION --> AI_RESPONSE[AI回應生成]
|
||
|
||
style NLP_PROCESSING fill:#e1f5fe
|
||
style OVERALL_SCORE fill:#e8f5e8
|
||
style AI_RESPONSE fill:#f3e5f5
|
||
```
|
||
|
||
## 🛒 道具商店流程
|
||
|
||
### 完整商店購買流程
|
||
|
||
```mermaid
|
||
graph TD
|
||
SHOP_ENTER[進入商店] --> SHOP_CATEGORIES[商品分類]
|
||
SHOP_CATEGORIES --> CATEGORY_SELECT{選擇分類}
|
||
|
||
CATEGORY_SELECT -->|命條道具| LIFE_ITEMS[命條相關道具]
|
||
CATEGORY_SELECT -->|學習道具| LEARNING_ITEMS[學習增效道具]
|
||
CATEGORY_SELECT -->|裝飾道具| COSMETIC_ITEMS[裝飾道具]
|
||
CATEGORY_SELECT -->|訂閱服務| SUBSCRIPTION_PLANS[訂閱方案]
|
||
|
||
LIFE_ITEMS --> ITEM_DETAILS[道具詳情頁]
|
||
LEARNING_ITEMS --> ITEM_DETAILS
|
||
COSMETIC_ITEMS --> ITEM_DETAILS
|
||
SUBSCRIPTION_PLANS --> PLAN_DETAILS[方案詳情頁]
|
||
|
||
ITEM_DETAILS --> PURCHASE_CHECK{購買檢查}
|
||
PLAN_DETAILS --> SUBSCRIPTION_CHECK{訂閱檢查}
|
||
|
||
PURCHASE_CHECK -->|鑽石足夠| CONFIRM_PURCHASE[確認購買]
|
||
PURCHASE_CHECK -->|鑽石不足| INSUFFICIENT_DIAMONDS[鑽石不足]
|
||
|
||
SUBSCRIPTION_CHECK -->|可訂閱| SUBSCRIPTION_PAYMENT[訂閱付款]
|
||
SUBSCRIPTION_CHECK -->|已訂閱| ALREADY_SUBSCRIBED[已有訂閱]
|
||
|
||
INSUFFICIENT_DIAMONDS --> DIAMOND_PURCHASE[購買鑽石]
|
||
ALREADY_SUBSCRIBED --> MANAGE_SUBSCRIPTION[管理訂閱]
|
||
|
||
CONFIRM_PURCHASE --> PAYMENT_PROCESS[處理付款]
|
||
SUBSCRIPTION_PAYMENT --> PAYMENT_GATEWAY[付款閘道]
|
||
DIAMOND_PURCHASE --> PAYMENT_GATEWAY
|
||
|
||
PAYMENT_PROCESS --> DIAMOND_DEDUCTION[扣除鑽石]
|
||
PAYMENT_GATEWAY --> PAYMENT_VERIFY[驗證付款]
|
||
|
||
DIAMOND_DEDUCTION --> ITEM_DELIVERY[道具發放]
|
||
PAYMENT_VERIFY -->|成功| PAYMENT_SUCCESS[付款成功]
|
||
PAYMENT_VERIFY -->|失敗| PAYMENT_FAILED[付款失敗]
|
||
|
||
PAYMENT_SUCCESS --> DIAMOND_CREDIT[鑽石入帳/訂閱啟用]
|
||
PAYMENT_FAILED --> PAYMENT_RETRY[重試付款]
|
||
|
||
DIAMOND_CREDIT --> PURCHASE_COMPLETE[購買完成]
|
||
ITEM_DELIVERY --> INVENTORY_UPDATE[更新道具庫存]
|
||
PAYMENT_RETRY --> PAYMENT_GATEWAY
|
||
|
||
INVENTORY_UPDATE --> PURCHASE_COMPLETE
|
||
PURCHASE_COMPLETE --> TRANSACTION_RECORD[交易記錄]
|
||
TRANSACTION_RECORD --> SHOP_RETURN[返回商店]
|
||
|
||
MANAGE_SUBSCRIPTION --> CANCEL_SUBSCRIPTION[取消訂閱]
|
||
MANAGE_SUBSCRIPTION --> UPGRADE_SUBSCRIPTION[升級訂閱]
|
||
|
||
style INSUFFICIENT_DIAMONDS fill:#ffebee
|
||
style PAYMENT_SUCCESS fill:#e8f5e8
|
||
style PAYMENT_FAILED fill:#ffcdd2
|
||
style PURCHASE_COMPLETE fill:#c8e6c9
|
||
```
|
||
|
||
### 虛擬貨幣經濟流程
|
||
|
||
```mermaid
|
||
graph LR
|
||
CURRENCY_SOURCES[貨幣來源] --> EARN_DIAMONDS{鑽石獲得}
|
||
CURRENCY_SOURCES --> EARN_XP{經驗值獲得}
|
||
CURRENCY_SOURCES --> EARN_COINS{學習幣獲得}
|
||
|
||
EARN_DIAMONDS -->|每日登入| DAILY_LOGIN[每日獎勵: 2鑽石]
|
||
EARN_DIAMONDS -->|完成成就| ACHIEVEMENT_REWARD[成就獎勵: 10-50鑽石]
|
||
EARN_DIAMONDS -->|觀看廣告| AD_REWARD[廣告獎勵: 1鑽石/次 max 5]
|
||
EARN_DIAMONDS -->|內購| IAP[應用內購買]
|
||
|
||
EARN_XP -->|詞彙學習| VOCAB_XP[100 XP]
|
||
EARN_XP -->|對話練習| DIALOGUE_XP[200 XP]
|
||
EARN_XP -->|連續學習| STREAK_BONUS[20% 加成]
|
||
EARN_XP -->|完美表現| PERFECT_BONUS[50 XP]
|
||
|
||
EARN_COINS -->|每日任務| DAILY_TASK[50 學習幣]
|
||
EARN_COINS -->|學習活動| STUDY_REWARD[基於表現]
|
||
|
||
DAILY_LOGIN --> DIAMOND_WALLET[鑽石錢包]
|
||
ACHIEVEMENT_REWARD --> DIAMOND_WALLET
|
||
AD_REWARD --> DIAMOND_WALLET
|
||
IAP --> DIAMOND_WALLET
|
||
|
||
VOCAB_XP --> XP_COUNTER[經驗值計數]
|
||
DIALOGUE_XP --> XP_COUNTER
|
||
STREAK_BONUS --> XP_COUNTER
|
||
PERFECT_BONUS --> XP_COUNTER
|
||
|
||
DAILY_TASK --> COIN_WALLET[學習幣錢包]
|
||
STUDY_REWARD --> COIN_WALLET
|
||
|
||
DIAMOND_WALLET --> SPENDING[消費項目]
|
||
XP_COUNTER --> LEVEL_SYSTEM[等級系統]
|
||
COIN_WALLET --> SPENDING
|
||
|
||
style DAILY_LOGIN fill:#e8f5e8
|
||
style ACHIEVEMENT_REWARD fill:#fff3e0
|
||
style IAP fill:#f3e5f5
|
||
style LEVEL_SYSTEM fill:#e1f5fe
|
||
```
|
||
|
||
## 🔄 命條系統流程
|
||
|
||
### 命條管理流程
|
||
|
||
```mermaid
|
||
graph TD
|
||
LIFE_SYSTEM[命條系統] --> LIFE_CHECK{當前命條狀態}
|
||
|
||
LIFE_CHECK -->|充足 5個| FULL_LIVES[命條充足]
|
||
LIFE_CHECK -->|部分 1-4個| PARTIAL_LIVES[命條部分]
|
||
LIFE_CHECK -->|耗盡 0個| NO_LIVES[命條耗盡]
|
||
|
||
FULL_LIVES --> LEARNING_ACTIVITY[學習活動]
|
||
PARTIAL_LIVES --> RECOVERY_OPTION{恢復選項}
|
||
NO_LIVES --> FORCED_RECOVERY[強制恢復選項]
|
||
|
||
LEARNING_ACTIVITY --> ACTIVITY_RESULT{活動結果}
|
||
|
||
ACTIVITY_RESULT -->|成功| SUCCESS_REWARD[成功獎勵]
|
||
ACTIVITY_RESULT -->|失敗| LIFE_CONSUME[消耗命條]
|
||
|
||
SUCCESS_REWARD --> XP_GAIN[經驗值獲得]
|
||
LIFE_CONSUME --> LIFE_DEDUCTION[命條 -1]
|
||
|
||
LIFE_DEDUCTION --> LIFE_CHECK
|
||
XP_GAIN --> LEARNING_ACTIVITY
|
||
|
||
RECOVERY_OPTION -->|自然恢復| AUTO_RECOVERY[4小時自動恢復]
|
||
RECOVERY_OPTION -->|觀看廣告| WATCH_AD[觀看廣告恢復]
|
||
RECOVERY_OPTION -->|鑽石購買| BUY_LIVES[購買命條]
|
||
RECOVERY_OPTION -->|繼續學習| LEARNING_ACTIVITY
|
||
|
||
FORCED_RECOVERY -->|觀看廣告| AD_RECOVERY[廣告恢復 +1命條]
|
||
FORCED_RECOVERY -->|鑽石購買| DIAMOND_RECOVERY[鑽石恢復 +5命條]
|
||
FORCED_RECOVERY -->|等待| WAIT_TIMER[等待4小時]
|
||
|
||
AUTO_RECOVERY --> TIMER_CHECK{恢復計時器}
|
||
WATCH_AD --> AD_LIMIT_CHECK{廣告次數檢查}
|
||
BUY_LIVES --> DIAMOND_COST[50鑽石/命條]
|
||
|
||
TIMER_CHECK -->|時間到| ADD_LIFE[+1命條]
|
||
TIMER_CHECK -->|未到時間| CONTINUE_TIMER[繼續計時]
|
||
|
||
AD_LIMIT_CHECK -->|次數內 <3次/日| AD_REWARD_LIFE[+1命條]
|
||
AD_LIMIT_CHECK -->|超過次數| AD_LIMIT_REACHED[廣告次數已滿]
|
||
|
||
DIAMOND_COST --> DIAMOND_CHECK{鑽石是否足夠}
|
||
DIAMOND_CHECK -->|足夠| PURCHASE_LIVES[購買成功 +1命條]
|
||
DIAMOND_CHECK -->|不足| INSUFFICIENT_DIAMONDS[鑽石不足]
|
||
|
||
ADD_LIFE --> LIFE_CHECK
|
||
AD_REWARD_LIFE --> LIFE_CHECK
|
||
PURCHASE_LIVES --> LIFE_CHECK
|
||
AD_RECOVERY --> LIFE_CHECK
|
||
DIAMOND_RECOVERY --> LIFE_CHECK
|
||
|
||
AD_LIMIT_REACHED --> FORCED_RECOVERY
|
||
INSUFFICIENT_DIAMONDS --> BUY_DIAMONDS[前往購買鑽石]
|
||
CONTINUE_TIMER --> AUTO_RECOVERY
|
||
WAIT_TIMER --> AUTO_RECOVERY
|
||
|
||
style NO_LIVES fill:#ffebee
|
||
style LIFE_CONSUME fill:#ffcdd2
|
||
style SUCCESS_REWARD fill:#e8f5e8
|
||
style ADD_LIFE fill:#c8e6c9
|
||
style PURCHASE_LIVES fill:#a5d6a7
|
||
```
|
||
|
||
## 📊 學習分析與統計流程
|
||
|
||
### 學習數據收集與分析
|
||
|
||
```mermaid
|
||
graph TD
|
||
LEARNING_EVENT[學習事件發生] --> EVENT_CAPTURE[事件捕捉]
|
||
EVENT_CAPTURE --> DATA_CLASSIFICATION{數據分類}
|
||
|
||
DATA_CLASSIFICATION -->|學習行為| BEHAVIOR_DATA[行為數據]
|
||
DATA_CLASSIFICATION -->|學習成果| PERFORMANCE_DATA[表現數據]
|
||
DATA_CLASSIFICATION -->|時間數據| TIME_DATA[時間數據]
|
||
DATA_CLASSIFICATION -->|錯誤數據| ERROR_DATA[錯誤數據]
|
||
|
||
BEHAVIOR_DATA --> BEHAVIOR_ANALYSIS[行為分析]
|
||
PERFORMANCE_DATA --> PERFORMANCE_ANALYSIS[表現分析]
|
||
TIME_DATA --> TIME_ANALYSIS[時間分析]
|
||
ERROR_DATA --> ERROR_ANALYSIS[錯誤分析]
|
||
|
||
BEHAVIOR_ANALYSIS --> LEARNING_PATTERN[學習模式識別]
|
||
PERFORMANCE_ANALYSIS --> PROGRESS_TRACKING[進度追蹤]
|
||
TIME_ANALYSIS --> EFFICIENCY_CALC[效率計算]
|
||
ERROR_ANALYSIS --> WEAKNESS_IDENTIFICATION[弱點識別]
|
||
|
||
LEARNING_PATTERN --> PERSONALIZED_RECOMMENDATION[個人化推薦]
|
||
PROGRESS_TRACKING --> ACHIEVEMENT_TRACKING[成就追蹤]
|
||
EFFICIENCY_CALC --> OPTIMIZATION_SUGGESTION[優化建議]
|
||
WEAKNESS_IDENTIFICATION --> TARGETED_PRACTICE[針對性練習]
|
||
|
||
PERSONALIZED_RECOMMENDATION --> DASHBOARD_UPDATE[儀表板更新]
|
||
ACHIEVEMENT_TRACKING --> DASHBOARD_UPDATE
|
||
OPTIMIZATION_SUGGESTION --> DASHBOARD_UPDATE
|
||
TARGETED_PRACTICE --> DASHBOARD_UPDATE
|
||
|
||
DASHBOARD_UPDATE --> USER_INSIGHTS[用戶洞察展示]
|
||
|
||
style LEARNING_EVENT fill:#e1f5fe
|
||
style DASHBOARD_UPDATE fill:#e8f5e8
|
||
style USER_INSIGHTS fill:#c8e6c9
|
||
```
|
||
|
||
## 🌍 跨平台功能流程差異
|
||
|
||
### Mobile vs Web 平台特有流程
|
||
|
||
```mermaid
|
||
graph TD
|
||
PLATFORM_CHECK[平台檢測] --> MOBILE{Mobile App}
|
||
PLATFORM_CHECK --> WEB{Web App}
|
||
|
||
MOBILE -->|專有功能| MOBILE_FEATURES[Mobile專有功能]
|
||
WEB -->|專有功能| WEB_FEATURES[Web專有功能]
|
||
|
||
MOBILE_FEATURES -->|觸覺回饋| HAPTIC_FEEDBACK[震動回饋]
|
||
MOBILE_FEATURES -->|推播通知| PUSH_NOTIFICATION[學習提醒]
|
||
MOBILE_FEATURES -->|相機掃描| CAMERA_SCAN[掃描書籍]
|
||
MOBILE_FEATURES -->|離線學習| OFFLINE_MODE[完全離線]
|
||
MOBILE_FEATURES -->|語音喚醒| VOICE_WAKE["Hey Drama"]
|
||
|
||
WEB_FEATURES -->|多標籤| MULTI_TAB[多標籤學習]
|
||
WEB_FEATURES -->|快捷鍵| KEYBOARD_SHORTCUTS[鍵盤快捷鍵]
|
||
WEB_FEATURES -->|數據匯出| DATA_EXPORT[CSV/PDF匯出]
|
||
WEB_FEATURES -->|列印| PRINT_OPTIMIZE[學習報告列印]
|
||
WEB_FEATURES -->|多螢幕| MULTI_SCREEN[多顯示器支援]
|
||
WEB_FEATURES -->|即時協作| REAL_TIME_COLLAB[多人學習]
|
||
|
||
%% 共同功能適配
|
||
MOBILE -->|適配| MOBILE_ADAPT[Mobile適配]
|
||
WEB -->|適配| WEB_ADAPT[Web適配]
|
||
|
||
MOBILE_ADAPT -->|觸控操作| TOUCH_INTERFACE[觸控介面]
|
||
MOBILE_ADAPT -->|小螢幕優化| SMALL_SCREEN[小螢幕布局]
|
||
MOBILE_ADAPT -->|原生感受| NATIVE_FEEL[原生體驗]
|
||
|
||
WEB_ADAPT -->|滑鼠操作| MOUSE_INTERFACE[滑鼠介面]
|
||
WEB_ADAPT -->|大螢幕優化| LARGE_SCREEN[大螢幕布局]
|
||
WEB_ADAPT -->|瀏覽器整合| BROWSER_INTEGRATION[瀏覽器功能]
|
||
|
||
style MOBILE_FEATURES fill:#e8f5e8
|
||
style WEB_FEATURES fill:#f3e5f5
|
||
style MOBILE_ADAPT fill:#fff3e0
|
||
style WEB_ADAPT fill:#e1f5fe
|
||
```
|
||
|
||
## 🎯 完整用戶旅程地圖
|
||
|
||
### 新用戶完整學習旅程
|
||
|
||
```mermaid
|
||
graph TD
|
||
NEW_USER[新用戶訪問] --> FIRST_IMPRESSION[首次印象]
|
||
FIRST_IMPRESSION --> TRIAL_REGISTRATION[試用註冊]
|
||
TRIAL_REGISTRATION --> ONBOARDING[新手引導]
|
||
|
||
ONBOARDING --> LEVEL_ASSESSMENT[程度評估]
|
||
LEVEL_ASSESSMENT --> LEARNING_PATH[學習路徑規劃]
|
||
LEARNING_PATH --> FIRST_LESSON[第一堂課]
|
||
|
||
FIRST_LESSON --> VOCABULARY_INTRO[詞彙介紹]
|
||
VOCABULARY_INTRO --> DIALOGUE_PRACTICE[對話練習]
|
||
DIALOGUE_PRACTICE --> IMMEDIATE_FEEDBACK[即時回饋]
|
||
|
||
IMMEDIATE_FEEDBACK --> SUCCESS_FEELING[成功感建立]
|
||
SUCCESS_FEELING --> HABIT_FORMATION[習慣養成]
|
||
|
||
HABIT_FORMATION --> DAILY_PRACTICE{每日練習}
|
||
DAILY_PRACTICE -->|堅持| PROGRESS_VISIBLE[進度可見]
|
||
DAILY_PRACTICE -->|中斷| RE_ENGAGEMENT[重新參與]
|
||
|
||
PROGRESS_VISIBLE --> ACHIEVEMENT_UNLOCK[成就解鎖]
|
||
ACHIEVEMENT_UNLOCK --> SOCIAL_SHARING[社交分享]
|
||
|
||
RE_ENGAGEMENT --> PUSH_NOTIFICATION[推播提醒]
|
||
RE_ENGAGEMENT --> EMAIL_REMINDER[郵件提醒]
|
||
PUSH_NOTIFICATION --> COMEBACK_INCENTIVE[回歸獎勵]
|
||
EMAIL_REMINDER --> COMEBACK_INCENTIVE
|
||
|
||
SOCIAL_SHARING --> COMMUNITY_ENGAGEMENT[社群參與]
|
||
COMEBACK_INCENTIVE --> DAILY_PRACTICE
|
||
|
||
COMMUNITY_ENGAGEMENT --> LONG_TERM_ENGAGEMENT[長期參與]
|
||
LONG_TERM_ENGAGEMENT --> SUBSCRIPTION_CONSIDERATION[考慮訂閱]
|
||
|
||
SUBSCRIPTION_CONSIDERATION --> PREMIUM_TRIAL[高級試用]
|
||
PREMIUM_TRIAL --> CONVERSION_DECISION{轉換決策}
|
||
|
||
CONVERSION_DECISION -->|訂閱| PREMIUM_USER[付費用戶]
|
||
CONVERSION_DECISION -->|不訂閱| FREE_USER_JOURNEY[免費用戶旅程]
|
||
|
||
PREMIUM_USER --> ADVANCED_FEATURES[高級功能體驗]
|
||
ADVANCED_FEATURES --> RETENTION[長期留存]
|
||
|
||
FREE_USER_JOURNEY --> LIMITED_FEATURES[功能限制體驗]
|
||
LIMITED_FEATURES --> UPGRADE_PROMPTS[升級提示]
|
||
UPGRADE_PROMPTS --> CONVERSION_DECISION
|
||
|
||
style NEW_USER fill:#e1f5fe
|
||
style SUCCESS_FEELING fill:#c8e6c9
|
||
style ACHIEVEMENT_UNLOCK fill:#fff3e0
|
||
style PREMIUM_USER fill:#a5d6a7
|
||
style RETENTION fill:#4caf50
|
||
```
|
||
|
||
## 📈 性能與監控流程
|
||
|
||
### 系統監控與錯誤處理
|
||
|
||
```mermaid
|
||
graph LR
|
||
SYSTEM_MONITOR[系統監控] --> METRICS_COLLECTION[指標收集]
|
||
METRICS_COLLECTION --> PERFORMANCE_ANALYSIS[性能分析]
|
||
PERFORMANCE_ANALYSIS --> THRESHOLD_CHECK{閾值檢查}
|
||
|
||
THRESHOLD_CHECK -->|正常| NORMAL_OPERATION[正常運行]
|
||
THRESHOLD_CHECK -->|異常| ALERT_TRIGGER[告警觸發]
|
||
|
||
ALERT_TRIGGER --> ERROR_CLASSIFICATION{錯誤分類}
|
||
ERROR_CLASSIFICATION -->|輕微| LOG_ERROR[記錄錯誤]
|
||
ERROR_CLASSIFICATION -->|嚴重| IMMEDIATE_ACTION[立即響應]
|
||
ERROR_CLASSIFICATION -->|致命| SYSTEM_RECOVERY[系統恢復]
|
||
|
||
LOG_ERROR --> ERROR_TRACKING[錯誤追蹤]
|
||
IMMEDIATE_ACTION --> USER_NOTIFICATION[用戶通知]
|
||
SYSTEM_RECOVERY --> FALLBACK_MODE[降級模式]
|
||
|
||
NORMAL_OPERATION --> CONTINUOUS_MONITORING[持續監控]
|
||
ERROR_TRACKING --> IMPROVEMENT_PLAN[改進計劃]
|
||
USER_NOTIFICATION --> ERROR_RESOLUTION[錯誤解決]
|
||
FALLBACK_MODE --> SERVICE_RESTORATION[服務恢復]
|
||
|
||
style ALERT_TRIGGER fill:#fff3e0
|
||
style IMMEDIATE_ACTION fill:#ffcdd2
|
||
style SYSTEM_RECOVERY fill:#ffebee
|
||
style SERVICE_RESTORATION fill:#e8f5e8
|
||
```
|
||
|
||
---
|
||
|
||
## 🎯 總結
|
||
|
||
本文檔基於 `/docs/02_design/function-specs/` 完整規格,繪製了Drama Ling語言學習應用的全套用戶流程圖,涵蓋:
|
||
|
||
### ✅ **已包含的完整流程**
|
||
1. **認證系統流程** - 註冊、登入、角色權限管理
|
||
2. **學習地圖流程** - 關卡導航、成就系統
|
||
3. **詞彙學習流程** - 學習模式、間隔複習算法
|
||
4. **情境對話流程** - AI對話分析、表現評估
|
||
5. **道具商店流程** - 購買流程、虛擬貨幣經濟
|
||
6. **命條系統流程** - 生命值管理、恢復機制
|
||
7. **分析統計流程** - 數據收集、個人化推薦
|
||
8. **跨平台差異** - Mobile vs Web 功能適配
|
||
9. **用戶旅程地圖** - 從新用戶到長期留存
|
||
10. **系統監控流程** - 性能監控、錯誤處理
|
||
|
||
### 📊 **規格一致性確認**
|
||
- ✅ 完全對應 5個核心功能模組
|
||
- ✅ 涵蓋 Mobile + Web 雙平台特性
|
||
- ✅ 整合共同業務規則和API規格
|
||
- ✅ 包含完整的用戶角色權限邏輯
|
||
- ✅ 反映平台功能對應表的差異化設計
|
||
|
||
**文檔狀態**: 🟢 已完成
|
||
**基於版本**: function-specs v1.1
|
||
**最後更新**: 2025-09-10 |