refactor(q1): src/api 全量清零 any + types/monitor 扩展输入 DTO

ROADMAP Q1 推进(前端类型安全治理 in_progress):

- src/api/ 整个目录 any 清零(含 monitor/ deploy/ 子目录 12+ 文件)
  create/update 入参 any -> Record<string, unknown> / object
  mock 桩 trace/grafana 对接 types/ 标准类型(Trace/GrafanaDashboard)
  典型接口 LdapFormData/ProbeForm 等强类型表单用 object 接收
- types/monitor.ts 扩展 ~150 行接口:
  ZabbixDatasource / AlertSilence / 7 个输入 DTO
  Trace / TraceSpan / TraceServiceMetrics / GrafanaDashboard / DashboardPanel
  HealthProbeInput

验证:
- 整个 src/api/ 目录 any=0
- ESLint no-explicit-any: 995 -> 937 (本项目此轮贡献 -58)
- tsc -b 零错误, npm run build ✓ (17.06s)
- API 回归 8/8 核心端点通过, Docker 部署 healthy
This commit is contained in:
attacker committed 2026-06-26 03:37:56 +08:00
1 parent 480e677042
commit b553c7956d
436 files changed
+410 -1198

No files matched your search

+10 -7
View File
@@ -1,10 +1,13 @@
// Grafana 仪表盘 API(暂无后端,返回空结果优雅降级) // Logan.Li
// Q1 类型安全: 对接 types/monitor.ts(GrafanaDashboard)
import type { GrafanaDashboard } from '@/types/monitor';
export const dashboardApi = {
getDashboards: async (): Promise<{ data: any[]; total: number }> => ({ data: [], total: 0 }),
getDatasources: async (): Promise<{ data: any[]; total: number }> => ({ data: [], total: 0 }),
createDashboard: async ( _data: any) => ({ success: false }),
updateDashboard: async (_id: number | string, _data: any) => ({ success: false }),
deleteDashboard: async (_id: number | string) => ({ success: false }),
createDatasource: async ( _data: any) => ({ success: false }),
};
getDashboards: async (): Promise<{ data: GrafanaDashboard[]; total: number }> => ({ data: [], total: 0 }),
getDatasources: async (): Promise<{ data: Record<string, unknown>[]; total: number }> => ({ data: [], total: 0 }),
createDashboard: async (_data: Partial<GrafanaDashboard>): Promise<{ success: boolean }> => ({ success: false }),
updateDashboard: async (_id: number | string, _data: Partial<GrafanaDashboard>): Promise<{ success: boolean }> => ({ success: false }),
deleteDashboard: async (_id: number | string): Promise<{ success: boolean }> => ({ success: false }),
createDatasource: async (_data: Record<string, unknown>): Promise<{ success: boolean }> => ({ success: false }),
};