353 lines
7.5 KiB
Markdown
353 lines
7.5 KiB
Markdown
# 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 定期更新
|
||
- 安全標頭設置 |