dramaling-app/docs/02_design/function-specs/common/user-flow-diagrams.md

28 KiB
Raw Blame History

Drama Ling 完整用戶流程圖

文檔名稱: 基於現行規格的完整用戶流程設計
建立日期: 2025-09-10
基於規格: /docs/02_design/function-specs/ 完整規格
涵蓋平台: Mobile App + Web App

🎯 總體用戶流程概覽

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

🔐 用戶認證流程

完整認證流程圖

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

用戶角色與權限流程

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

🗺️ 學習地圖流程

學習路徑導航流程

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

成就系統流程

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

📚 詞彙學習流程

完整詞彙學習流程

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

間隔複習算法流程

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

💬 情境對話流程

完整對話練習流程

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分析流程

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

🛒 道具商店流程

完整商店購買流程

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

虛擬貨幣經濟流程

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

🔄 命條系統流程

命條管理流程

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

📊 學習分析與統計流程

學習數據收集與分析

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 平台特有流程

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

🎯 完整用戶旅程地圖

新用戶完整學習旅程

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

📈 性能與監控流程

系統監控與錯誤處理

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