# Change: 簡化前端頁面並新增翻譯計費功能 ## Why 目前前端存在多個冗餘的頁面和功能,需要精簡以改善使用者體驗和維護性: 1. Tasks 頁面的 JSON/MD 下載功能已不再需要(僅保留 PDF 下載) 2. Export 頁面功能與 Tasks 頁面重疊,且複雜度不符實際需求 3. Settings 頁面僅管理導出規則,而導出功能即將移除 同時,系統已整合 Dify 翻譯服務,需要在管理員儀表板中新增翻譯計費追蹤功能,以便監控 API Token 使用量和成本。 ## What Changes ### 1. 移除 Tasks 頁面的 JSON/MD 下載按鈕(前端) - 已在 TaskDetailPage 移除,確認 ExportPage 中的相關功能一併移除 - 保留 apiV2.ts 中的 API 方法(維持後端相容性) ### 2. 移除 Export 頁面(前端) - 移除 `frontend/src/pages/ExportPage.tsx` - 從 App.tsx 路由配置移除 `/export` 路由 - 從 Layout.tsx 導航選單移除 Export 連結 - 移除 i18n 中 export 相關翻譯(可選,不影響功能) ### 3. 移除 Settings 頁面(前端) - 移除 `frontend/src/pages/SettingsPage.tsx` - 從 App.tsx 路由配置移除 `/settings` 路由 - 從 Layout.tsx 導航選單移除 Settings 連結 - 後端 Export Rules API 保留(不影響現有資料) ### 4. 新增翻譯計費功能(前端 + 後端) #### 後端新增: - 在 `AdminService` 新增 `get_translation_statistics()` 方法 - 新增 API 端點 `GET /api/v2/admin/translation-stats` - 返回結構: - 總翻譯任務數 - 總 Token 使用量(input_tokens, output_tokens) - 各語言翻譯統計 - 預估成本(基於配置的 Token 價格) #### 前端新增: - 在 AdminDashboardPage 新增「翻譯統計」卡片 - 顯示總 Token 使用量、翻譯次數、預估成本 - 顯示各目標語言的翻譯分佈 ## Impact - Affected specs: frontend-ui (修改), backend-api (修改) - Affected code: - **前端移除**: - `frontend/src/pages/ExportPage.tsx` - `frontend/src/pages/SettingsPage.tsx` - `frontend/src/App.tsx` (路由) - `frontend/src/components/Layout.tsx` (導航) - **後端新增**: - `backend/app/services/admin_service.py` (翻譯統計方法) - `backend/app/routers/admin.py` (新 API 端點) - `backend/app/schemas/admin.py` (回應結構) - **前端新增**: - `frontend/src/pages/AdminDashboardPage.tsx` (翻譯統計元件) - `frontend/src/services/apiV2.ts` (新 API 呼叫) - `frontend/src/types/apiV2.ts` (新類型)