# DramaLing 用戶流程文檔 ## 1. 核心用戶流程圖 ```mermaid graph TD Start[用戶訪問網站] --> Check{已登入?} Check -->|否| Landing[首頁] Check -->|是| Dashboard[儀表板] Landing --> SignUp[註冊] Landing --> Login[登入] SignUp --> EmailVerify[郵件驗證] EmailVerify --> Dashboard Login --> Dashboard Dashboard --> Generate[AI生成詞卡] Dashboard --> Learn[開始學習] Dashboard --> Manage[管理詞卡] Generate --> Review[預覽生成結果] Review --> Save[保存到卡組] Learn --> Mode{選擇模式} Mode --> Flip[翻卡學習] Mode --> Quiz[測驗模式] Manage --> CRUD[增刪改查] ``` ## 2. 詳細用戶流程 ### 2.1 新用戶註冊流程 #### 流程步驟 1. **進入首頁** - 看到產品介紹 - 點擊「免費開始」或「註冊」 2. **選擇註冊方式** - Option A: Email 註冊 - Option B: Google 快速註冊 3. **Email 註冊路徑** ``` 輸入資料 → 提交表單 → 發送驗證郵件 → 查收郵件 → 點擊驗證連結 → 完成註冊 ``` - 輸入:Email、密碼、用戶名 - 即時驗證:密碼強度、Email 格式 - 錯誤提示:Email 已註冊、密碼不符要求 4. **Google 註冊路徑** ``` 點擊 Google 登入 → 授權 → 自動創建帳號 → 進入儀表板 ``` 5. **註冊成功** - 自動登入 - 顯示歡迎引導 - 推薦首次操作 #### UI 狀態 - Loading:提交中顯示載入動畫 - Error:顯示錯誤訊息並保留用戶輸入 - Success:跳轉到儀表板 #### 異常處理 - 驗證郵件未收到 → 提供重發按鈕 - 驗證連結過期 → 提示重新發送 - Google 登入失敗 → 回退到手動註冊 ### 2.2 AI 詞卡生成流程 #### 流程步驟 1. **進入生成頁面** - 從儀表板點擊「生成新詞卡」 - 或從頂部導航欄快速入口 2. **選擇生成方式** ``` 文字輸入模式 ←→ 主題選擇模式 ``` 3. **文字輸入模式** ``` 貼上文本 → 設定參數 → 點擊生成 → 等待 AI 處理 → 預覽結果 ``` - 輸入區:支援拖放文件 - 參數設定: - 生成數量(5-20) - 難度等級(初/中/高) - 包含例句(開/關) - 進度顯示:生成中顯示進度條 4. **主題選擇模式** ``` 選擇主題 → 選擇子類別 → 設定數量 → 生成 ``` - 熱門主題快速選擇 - 自定義主題輸入 5. **預覽與編輯** ``` 查看生成結果 → 編輯個別詞卡 → 刪除不需要的 → 確認保存 ``` - 卡片視圖預覽 - 即時編輯功能 - 批量操作選項 6. **保存到卡組** ``` 選擇現有卡組 OR 創建新卡組 → 添加標籤 → 完成 ``` #### 限制與配額 - 免費用戶:每日 50 個詞卡 - 顯示剩餘配額 - 超出限制提示升級 #### 錯誤處理 - AI 服務不可用 → 顯示友善錯誤,提供重試 - 生成失敗 → 保留用戶輸入,允許重新生成 - 網路中斷 → 自動保存草稿 ### 2.3 學習流程 #### 流程步驟 1. **選擇學習內容** ``` 儀表板 → 選擇卡組 → 選擇學習模式 → 開始學習 ``` - 顯示待複習數量 - 推薦學習順序 2. **翻卡學習模式** ``` 顯示正面 → 思考 → 翻轉查看答案 → 自評難度 → 下一張 ``` - 操作方式: - 點擊翻轉 - 鍵盤空格鍵 - 手機滑動手勢 - 評分選項: - 😔 完全不記得 (1分) - 😕 有印象但錯誤 (2分) - 😐 困難但正確 (3分) - 🙂 猶豫後正確 (4分) - 😄 輕鬆正確 (5分) 3. **測驗模式** ``` 顯示題目 → 選擇答案 → 即時反饋 → 查看解釋 → 下一題 ``` - 題型: - 英翻中選擇 - 中翻英選擇 - 聽力選擇 - 拼寫填空 - 即時顯示對錯 - 錯誤時顯示正確答案 4. **學習結束** ``` 完成所有詞卡 → 顯示學習報告 → 更新統計 → 返回儀表板 ``` - 顯示內容: - 學習時長 - 正確率 - 掌握程度 - 獲得經驗值 #### 中斷處理 - 學習中退出 → 提示保存進度 - 自動保存學習記錄 - 下次從中斷處繼續 ### 2.4 詞卡管理流程 #### 流程步驟 1. **查看詞卡** ``` 進入卡組 → 瀏覽詞卡列表 → 查看詳情 ``` - 視圖切換:網格/列表 - 排序選項:時間/字母/難度 - 篩選器:標籤/狀態/難度 2. **編輯詞卡** ``` 選擇詞卡 → 點擊編輯 → 修改內容 → 保存 ``` - 可編輯欄位: - 單字/片語 - 翻譯 - 例句 - 標籤 - 筆記 3. **批量操作** ``` 進入選擇模式 → 勾選多個 → 選擇操作 → 確認執行 ``` - 批量移動 - 批量刪除 - 批量添加標籤 - 批量重設進度 4. **搜尋功能** ``` 輸入關鍵字 → 即時搜尋 → 顯示結果 → 點擊查看 ``` - 搜尋範圍:單字、翻譯、例句 - 高亮顯示匹配內容 ### 2.5 個人設定流程 #### 流程步驟 1. **進入設定** ``` 點擊頭像 → 選擇設定 → 進入設定頁面 ``` 2. **個人資料** ``` 編輯資料 → 上傳頭像 → 保存更改 ``` - 可修改:用戶名、頭像、簡介 - 不可修改:Email(需驗證) 3. **學習設定** ``` 調整參數 → 預覽效果 → 確認保存 ``` - 每日目標 - 提醒時間 - 學習模式偏好 - 音效設定 4. **帳號安全** ``` 修改密碼 → 管理登入裝置 → 下載數據 → 刪除帳號 ``` - 修改密碼需驗證舊密碼 - 顯示最近登入記錄 - 數據導出(JSON/CSV) ## 3. 錯誤狀態處理 ### 3.1 網路錯誤 ``` 檢測到錯誤 → 顯示錯誤提示 → 提供重試按鈕 → 自動重試(3次) ``` - 保留用戶輸入 - 顯示離線提示 - 恢復後自動同步 ### 3.2 權限錯誤 ``` 未登入訪問受限頁面 → 重定向到登入 → 登入後返回原頁面 ``` - 保存目標 URL - 登入後自動跳轉 ### 3.3 資料錯誤 ``` 載入失敗 → 顯示錯誤頁面 → 提供操作選項 ``` - 友善的錯誤訊息 - 返回上一頁選項 - 聯繫支援連結 ## 4. 行動裝置適配 ### 4.1 觸控優化 - 按鈕最小 44x44px - 滑動手勢支援 - 長按顯示選單 - 下拉刷新 ### 4.2 螢幕適配 - 豎屏為主設計 - 橫屏特殊處理 - 安全區域適配 - 鍵盤彈出處理 ### 4.3 性能優化 - 圖片延遲載入 - 虛擬滾動 - 離線快取 - 減少動畫 ## 5. 無障礙設計 ### 5.1 鍵盤導航 ``` Tab 順序 → 焦點提示 → Enter 確認 → Esc 取消 ``` - 所有功能可鍵盤操作 - 清晰的焦點指示 - 跳過導航連結 ### 5.2 螢幕閱讀器 - 語義化 HTML - ARIA 標籤 - 圖片替代文字 - 表單標籤關聯 ### 5.3 視覺輔助 - 高對比模式 - 字體大小調整 - 顏色不作為唯一標識 - 動畫可關閉 ## 6. 性能考量 ### 6.1 載入優化 - 骨架屏顯示 - 漸進式載入 - 關鍵路徑優先 - 預載入下一頁 ### 6.2 交互響應 - 樂觀更新 - 即時反饋 - 防抖處理 - 載入狀態提示 ### 6.3 資料快取 - 本地存儲常用資料 - 智能預載入 - 背景同步 - 離線可用 ## 7. 安全考量 ### 7.1 輸入驗證 - 前端即時驗證 - 後端二次驗證 - XSS 防護 - SQL 注入防護 ### 7.2 敏感操作 - 二次確認 - 密碼驗證 - 操作日誌 - 異常檢測 ### 7.3 資料保護 - HTTPS 傳輸 - 敏感資料加密 - Token 定期更新 - 安全標頭設置