Commit Graph

3 Commits

Author SHA1 Message Date
鄭沛軒 ce0455df3d feat: 實現詞彙完全掌握時自動更新複習時間功能
## 後端改進
- 新增 POST /flashcards/{id}/mastered 簡化API端點
- 實作 MarkWordMasteredAsync 方法,專門處理詞彙掌握
- 修復 GetOrCreateReviewAsync 立即保存新記錄問題
- 使用 2^成功次數 演算法計算下次複習間隔

## 前端整合
- 更新 useReviewSession 支援詞彙級別完成檢測
- 新增 checkWordCompleteAndCorrect 檢查所有測驗項目
- 實作 submitWordCompletion 自動提交詞彙掌握
- 新增 markWordMastered API 方法呼叫簡化端點
- 改用真實後端資料替代靜態測試資料

## 核心功能
- 詞彙所有測驗(flip-card + vocab-choice)完成且全對時自動觸發
- 背景呼叫 /mastered API 更新複習演算法
- Console 顯示詳細掌握訊息和新複習時間
- 容錯設計:API失敗不影響複習流程繼續

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 00:29:53 +08:00
鄭沛軒 006dcfee86 feat: 整合 AI 智能 quizOptions 到 due API
 新增功能
- 每張詞卡自動生成 3 個混淆選項 (quizOptions)
- AI 驅動的智能混淆選項生成系統
- 基於詞性和難度等級的選項匹配

🧠 AI 生成邏輯
- 使用 Gemini AI 生成語義相關但明確不同的選項
- 根據 CEFR 等級和詞性調整選項難度
- JSON 格式回應解析和錯誤處理

🚀 性能優化
- 記憶體快取機制 (1小時過期)
- 資料庫持久化儲存生成的選項
- 智能降級機制:AI失敗時使用固定選項

📊 測試確認
- API 回應包含完整的 quizOptions 陣列
- 支援異步批量生成多張詞卡選項
- 前端可直接使用於詞彙選擇測驗

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-06 21:15:12 +08:00
鄭沛軒 e8ab42dfd7 feat: 實現 /api/flashcards/due API 完整功能
 新增功能
- 建立 FlashcardReview 實體與資料庫表格
- 實現間隔重複算法 (2^n 天公式)
- 支援信心度評估系統 (0=答錯, 1-2=答對)
- 完整的複習統計與進度追蹤

🔧 技術實作
- FlashcardReviewRepository: 優化查詢避免 SQLite APPLY 限制
- ReviewService: 業務邏輯與算法實現
- FlashcardsController: 新增 GET /due 和 POST /{id}/review 端點
- 資料庫遷移與索引優化

📊 API 功能
- 支援查詢參數: limit, includeToday, includeOverdue, favoritesOnly
- 返回格式完全兼容前端 api_seeds.json 結構
- 包含完整 reviewInfo 複習狀態信息
- API 已測試確認在 http://localhost:5000 正常運作

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-06 20:49:40 +08:00