2.9 KiB
2.9 KiB
1. 核心类型变更
- 1.1 从
src/server/checker/types.ts的 CheckResult 和 StoredCheckResult 类型中移除success字段 - 1.2 从
src/shared/api.ts的 CheckResult 类型中移除success字段
2. 数据存储层变更
- 2.1 修改
src/server/checker/store.ts:DDL 移除success列,INSERT 语句移除 success 绑定,所有查询中移除 success 引用 - 2.2 修改
src/server/checker/store.ts:getSummary 中 UP 判定改为latest.matched - 2.3 修改
src/server/checker/store.ts:getTargetStats 可用率计算改为matched = 1 - 2.4 修改
src/server/checker/store.ts:getTrend 中 availability 和 avgDurationMs 改为基于matched = 1 - 2.5 修改
src/server/checker/store.ts:getRecentSamples 返回类型移除 success,SELECT 移除 success 列 - 2.6 修改
src/server/checker/store.ts:分组排序 ORDER BY 移除grp,改为ORDER BY CASE WHEN grp='default' THEN 0 ELSE 1 END, id
3. 拨测执行层变更
- 3.1 修改
src/server/checker/fetcher.ts:所有 CheckResult 返回值中移除success字段 - 3.2 修改
src/server/checker/command-runner.ts:所有 CheckResult 返回值中移除success字段 - 3.3 修改
src/server/checker/command-runner.ts:Bun.spawn 添加stdin: "ignore" - 3.4 修改
src/server/checker/engine.ts:writeResult 调用中移除success传递
4. API 路由层变更
- 4.1 修改
src/server/app.ts:mapCheckResult 移除success字段映射 - 4.2 修改
src/server/app.ts:recentSamples.up 判定改为s.matched === 1
5. 前端组件变更
- 5.1 修改
src/web/components/TargetCard.tsx:isUp 判定改为target.latestCheck?.matched - 5.2 修改
src/web/components/TargetGroup.tsx:up 计数改为t.latestCheck?.matched - 5.3 修改
src/web/components/TargetDetailModal.tsx:isUp 和 history 行状态改为基于matched
6. 测试同步
- 6.1 更新
tests/server/checker/fetcher.test.ts:移除所有success相关断言,改为matched断言 - 6.2 更新
tests/server/checker/command-runner.test.ts:移除所有success相关断言,改为matched断言 - 6.3 更新
tests/server/checker/engine.test.ts:移除所有success相关断言,改为matched断言 - 6.4 更新
tests/server/checker/store.test.ts:插入数据移除success字段,查询断言移除success检查 - 6.5 更新
tests/server/app.test.ts:API 响应断言移除success字段
7. 质量验证
- 7.1 执行
bun run check(typecheck + lint + format + test)确保全部通过 - 7.2 执行
bun run verify(check + build + smoke test)确保全部通过
8. 文档更新
- 8.1 更新 README.md:目标状态判定模型改为 matched 单层判定,移除 success 说明
- 8.2 更新 README.md:响应字段中移除 CheckResult 的 success 字段描述