wangdl f291f39049
All checks were successful
Deploy Admin Frontend / build-and-deploy (push) Successful in 10s
fix: 修复 CI 构建 49 个 TypeScript 错误
- routes/index.tsx: DataPages → 独立文件 import
- 导出 CostItem、CostSummary、Conversation、HealthService 类型
- ServerInfo、ProcessInfo、ServerHealth 类型补全嵌套字段
- 修复 useRef 缺初始值、string|null、unused imports 等

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-01 22:50:22 +08:00

16 lines
1.0 KiB
TypeScript

import { api } from '@/lib/api-client'
export interface CostItem { id: string; name: string; currency: string; amount: number; purchaseDate?: string; expiryDate?: string; [key: string]: any }
export interface CostSummary { totalMonthly: number; totalYearly: number; totalOneTime: number; items: CostItem[]; byMonth: any[]; expiringSoon: any[] }
export const costsAPI = {
summary() { return api.get<CostSummary>('/admin-api/costs/summary') },
list() { return api.get<CostItem[]>('/admin-api/costs') },
create(data: Omit<CostItem, 'id' | 'currency'> & { currency?: string }) { return api.post<CostItem>('/admin-api/costs', data) },
update(id: string, data: Partial<CostItem>) { return api.patch<CostItem>(`/admin-api/costs/${id}`, data) },
remove(id: string) { return api.delete<void>(`/admin-api/costs/${id}`) },
report() { return api.get('/admin-api/costs/report?days=30') },
topUsers() { return api.get('/admin-api/costs/top-users?days=30&limit=10') },
aggregate() { return api.post('/admin-api/costs/aggregate') },
}