鄭沛軒
f90286ad88
ux: 優化用戶友善文案,將「高價值詞彙」改為「重點學習詞彙」
...
文案優化:
- 程度指示器:「💎 高價值範圍」→「📈 重點學習範圍」
- 設定頁面:「高價值詞彙範圍」→「重點學習範圍」
- AI Prompt:「標記為高價值」→「標記為重點學習」
- 詞彙標記:「高價值詞彙」→「重點學習詞彙」
視覺優化:
- 圖標升級:⭐ (價值感) → 🎯 (目標感)
- 強化學習導向的表達方式
技術修復:
- 新增DbContext個人化欄位映射,解決資料庫欄位問題
- 確保C#模型與SQLite表結構正確對應
用戶體驗提升:
- 從商業化的「價值」概念轉為教育性的「學習」概念
- 更直觀的個人化學習目標表達
- 減少用戶理解負擔,提升整體友善度
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 00:26:10 +08:00
鄭沛軒
0bf0541c87
feat: 實現個人化高價值詞彙判定系統
...
主要功能:
- 實現基於用戶英語程度的個人化詞彙標記
- A1用戶標記A2-B1為高價值,C1用戶只標記C2為高價值
- 完整的前後端個人化學習體驗
後端架構:
- 擴充User實體新增英語程度相關欄位
- 建立CEFRLevelService等級比較服務
- 更新GeminiService支援個人化AI Prompt
- API支援userLevel參數,回應包含個人化資訊
前端體驗:
- 新增完整的程度設定頁面(/settings)
- 導航選單整合設定連結
- generate頁面顯示個人化程度指示器
- 自動傳遞用戶程度到API進行個人化分析
技術實現:
- 動態AI Prompt根據用戶程度調整判定標準
- localStorage保存用戶程度設定
- 向下相容設計,未設定時預設A2程度
- 完整的錯誤處理和回退機制
用戶價值:
- 從固定B1以上改為個人化程度+1~2級
- 真正適合用戶挑戰程度的詞彙標記
- 提升學習效率,避免過難或過簡單的干擾
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 22:37:38 +08:00
鄭沛軒
1b937f85c0
refactor: 大幅清理 AIController 冗餘代碼並優化架構
...
主要優化:
- 移除 AnalyzeLowValueWord 重複方法 (70+ 行)
- 移除 IsHighValueWord 複雜判定邏輯
- 移除 GetHighValueWordAnalysis 假資料方法
- 完全重寫 QueryWord 方法,從 55 行簡化到 25 行
架構改善:
- 統一使用 GeminiService.AnalyzeWordAsync 進行詞彙分析
- 移除高/低價值詞彙的複雜分支邏輯
- Controller 職責單純化,只負責 HTTP 請求處理
- 遵循 DRY 原則,避免重複代碼
代碼品質提升:
- 總行數減少約 200 行 (-14%)
- 移除 3 個重複方法
- 簡化錯誤處理邏輯
- 提升代碼可讀性和維護性
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 20:59:13 +08:00
鄭沛軒
4f16cbfa08
refactor: 移除所有快取機制並優化 AI 服務架構
...
主要變更:
- 完全移除句子分析快取,每次都進行真實 AI 分析
- 移除詞彙查詢的假資料實現,改用真實 Gemini AI
- 在 GeminiService 中新增專門的 AnalyzeWordAsync 方法
- 修正架構設計,將 AI 邏輯從 Controller 移到 Service 層
- 移除前端快取狀態顯示,簡化用戶介面
技術改善:
- 遵循分層架構原則,Service 層處理 AI 邏輯
- 統一錯誤處理和回退機制
- 新增完整的詞彙分析 JSON 解析邏輯
- 確保每次查詢都獲得最新的 AI 分析結果
附加:
- 新增查詢歷史系統設計規格文檔
- 為未來實現查詢歷史功能做準備
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 20:47:48 +08:00
鄭沛軒
255adc62c9
feat: 簡化句子分析功能並實現全詞彙可點擊
...
主要變更:
- 移除句子分析中的冗長解釋,只保留翻譯
- 修改 AI Prompt 簡化回應格式
- 實現所有單字都可點擊的互動功能
- 無預存資料的詞彙支援即時 AI 查詢
- 移除付費限制,提供完全免費的詞彙查詢體驗
- 新增詞彙快取機制技術規格文檔
技術改善:
- 優化 ClickableTextV2 組件支援全詞彙點擊
- 新增動態詞彙資料更新機制
- 改善視覺提示,區分有/無預存資料的詞彙
- 整理項目文檔結構,移除過時檔案
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 19:41:48 +08:00
鄭沛軒
e940d86f4a
feat: 暫時關閉使用次數限制系統
...
- 修改前端 isPremium 設定為 true,跳過使用次數檢查
- 修改後端 UsageService 調用參數為 premium 用戶
- 修復後端編譯錯誤,添加 System.Text.Json using
- 更新使用限制實施報告,添加完整修改記錄和復原步驟
- 驗證系統可無限制調用分析功能
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 15:10:54 +08:00
鄭沛軒
63b1018d97
fix: 完全修復快取資料結構不一致問題和互動式單字查詢功能
...
- 修復快取API回應中sentenceMeaning大小寫不一致問題
- 完善ClickableTextV2組件對快取資料的屬性讀取相容性
- 新增前端快取狀態顯示(💾 快取結果 / 🤖 AI 分析)
- 統一JSON序列化設定,使用camelCase命名策略
- 新增getWordProperty輔助函數,支援大小寫屬性名稱
- 修復單字彈窗中所有屬性的讀取邏輯
- 完善語法修正和詞彙分析的資料格式相容性
- 新增詳細的系統功能分析文檔
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 14:43:53 +08:00
鄭沛軒
95097cf3f1
feat: 實現真正的AI驅動互動式單字查詢系統
...
## 主要功能
- 整合真正的Gemini AI進行句子分析和翻譯
- 實現智能語法錯誤檢查和修正建議
- 完整的高價值詞彙標記系統(片語/單字/普通)
- 24小時快取機制提升性能和降低成本
- 互動式單字查詢:高價值免費,低價值收費
- 使用次數限制:免費用戶5次/3小時
## 技術實現
- 新增真正的Gemini AI句子分析服務
- 實現快取服務和背景清理任務
- 完整的前後端API整合
- 語法修正面板和互動文字組件
- 使用統計追蹤和限制機制
## 系統架構
- 後端:真正的AI分析 + 快取 + 統計
- 前端:互動式UI + 狀態管理 + 錯誤處理
- 資料庫:快取表 + 使用統計表
## 成本優化
- 預分析高價值詞彙,後續免費查詢
- 24小時快取避免重複AI調用
- 智能收費機制:高價值免費,低價值按需收費
- 預估API成本降低80-95%
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-18 02:09:56 +08:00
鄭沛軒
448883ff97
feat: 實現 AI 服務整合和前後端連接
...
- 整合 Google Gemini API 服務
- 添加測試端點支援無認證調用
- 實現前端 API 調用和資料格式轉換
- 完善錯誤處理和模擬資料回退
- 添加詞卡保存到資料庫功能
- 配置 User Secrets 安全管理 API 金鑰
- 優化 AI 服務條件判斷邏輯
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 16:08:37 +08:00
鄭沛軒
715b735c4d
feat: 實現自動「未分類」預設卡組功能
...
- 新增 CardSet.IsDefault 欄位標識預設卡組
- 實現用戶註冊時自動創建「未分類」卡組
- 添加 ensure-default API 端點確保預設卡組存在
- 優化詞卡創建邏輯,支援自動歸類到預設卡組
- 改善前端表單處理,智能選擇預設卡組
- 修復預設卡組顯示對比度問題
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 13:41:30 +08:00
鄭沛軒
331e747ef3
feat: 啟動詞卡管理功能開發,完成後端 API 驗證
...
🚀 第一階段開發成果:
- 成功驗證 CardSets 和 Flashcards API 端點
- 修復 JSON 循環引用問題(ReferenceHandler.IgnoreCycles)
- 建立基礎測試資料:商務英語詞卡集合
- 創建範例詞卡:negotiate, meeting, presentation
- 驗證真實資料庫 CRUD 操作
🔧 技術改進:
- 配置 JSON 序列化選項防止循環引用
- 完整的錯誤日誌系統發揮作用
- 資料庫關聯正常運作
📋 下一步:前端整合,讓用戶看到真實資料
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 02:48:02 +08:00
鄭沛軒
b9f6eb1237
fix: 修復 JWT token 驗證問題
...
- 統一 JWT 密鑰配置,解決簽名驗證失敗
- 修復 DRAMALING_JWT_SECRET 與 DRAMALING_SUPABASE_JWT_SECRET 不一致問題
- 現在 /api/auth/status 端點正常工作
- JWT token 生成和驗證使用相同密鑰
問題:IDX10503: Signature validation failed. Token does not have a kid.
解決:統一 GenerateJwtToken 和 Program.cs 中的密鑰變數
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 01:21:20 +08:00
鄭沛軒
e5cb336667
feat: 實作完整錯誤日誌系統
...
- 新增 ErrorHandlingMiddleware 全域錯誤處理
- 升級日誌配置到 Debug 層級
- 添加詳細的認證流程日誌
- 改進 AuthController 錯誤處理
- 包含請求詳情和錯誤堆疊追蹤
- 支援結構化日誌記錄
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-17 00:44:29 +08:00
鄭沛軒
c94cf75838
feat: DramaLing 完整版本 - 韓劇單字學習應用
...
🚀 主要功能:
- 前後端分離架構(Next.js + .NET Core)
- 完整用戶認證系統(註冊、登入、JWT)
- 單字卡學習功能
- AI 輔助生成單字卡
- 多種學習模式(翻卡、選擇題、拼寫)
- 學習進度追蹤
- 響應式設計
🏗️ 技術棧:
- Frontend: Next.js 15, TypeScript, Tailwind CSS
- Backend: .NET Core 8, Entity Framework, SQLite
- 認證: JWT Bearer Token
- AI: Google Gemini API
- 資料庫: SQLite(測試)
🌟 特色:
- 完整的 CRUD 操作
- 安全的環境變數配置
- 乾淨的代碼結構
- 完善的錯誤處理
- RESTful API 設計
🤖 Generated with [Claude Code](https://claude.ai/code )
Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-16 23:06:47 +08:00