attacker
b553c7956d
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
2026-06-26 03:37:56 +08:00
..
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 00:18:14 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 00:02:36 +08:00
2026-06-26 03:37:56 +08:00
2026-06-25 20:16:30 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 00:18:14 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-26 03:37:56 +08:00
2026-06-25 20:16:30 +08:00
2026-06-25 20:16:30 +08:00
2026-06-26 00:02:36 +08:00
2026-06-26 03:37:56 +08:00