- 后端新增 GET /api/meta 端点(checkerRegistry.supportedTypes)及 MetaResponse 类型 - 前端 hook 拆分为 use-queries.ts(全局查询+useMeta)和 use-target-detail.ts(Drawer状态) - TargetDetailDrawer 拆分为 OverviewTab + HistoryTab + history-table-columns + stats.ts - 类型筛选器由 meta API 动态驱动,删除 target-type-display 静态映射 - 列定义改为工厂函数 createTargetTableColumns(checkerTypes),TargetGroup 新增 columns prop - 修复 StatusDonut key、StatusBar maxSlots prop、TrendChart 移除 loading prop - 补充 utils/time、utils/stats、动态列工厂测试,删除旧 mapping 测试 - 同步 delta specs 到主 specs,归档 frontend-architecture-refactor change
1.2 KiB
1.2 KiB
Purpose
定义系统运行时元数据 API:checker 类型列表等元信息的对外暴露方式。
Requirements
Requirement: Meta 信息 API
系统 SHALL 提供 GET /api/meta 端点,返回系统运行时元数据。
Scenario: 获取 checker 类型列表
- WHEN 客户端请求
GET /api/meta - THEN 系统 SHALL 返回 JSON
{ checkerTypes: string[] },包含所有已注册的 checker 类型标识符(如["http", "command"])
Scenario: 类型列表来源
- WHEN 系统启动并注册了 checker
- THEN
/api/meta返回的checkerTypesSHALL 与CheckerRegistry.supportedTypes完全一致
Scenario: 仅允许 GET/HEAD 方法
- WHEN 客户端使用 POST/PUT/DELETE 等方法请求
/api/meta - THEN 系统 SHALL 返回 405 状态码
Scenario: HEAD 请求返回空体
- WHEN 客户端使用 HEAD 方法请求
/api/meta - THEN 系统 SHALL 返回 200 状态码和正确的 Content-Type header,body 为空
Requirement: MetaResponse 共享类型
系统 SHALL 在 src/shared/api.ts 中定义 MetaResponse 类型。
Scenario: MetaResponse 类型定义
- WHEN 前后端引用
MetaResponse类型 - THEN 该类型 SHALL 包含
checkerTypes: string[]字段