Files
OCR/openspec/changes/archive/2025-12-14-simplify-frontend-add-billing/proposal.md
egg 858d93155f chore: archive completed proposals
Archive two completed proposals:
- enable-audit-logging: Added audit logging for auth, task, and admin events
- simplify-frontend-add-billing: Removed Export/Settings pages, added translation stats

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-14 12:50:04 +08:00

63 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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` (新類型)