Files
CN_Tool_client/frontend/src/routers/modules/check-dbms-route-contract.mjs
yexb 7c8e7d1b7e refactor(steady-checksquare): 更新稳态校验功能的数据结构和接口规范
- 移除 lineId 字段,统一使用 lineIds 数组字段
- 更新创建任务请求体构建逻辑,不再包含 lineId 属性
- 修改任务详情和检测项明细的接口契约验证
- 更新稳态校验 API 文档说明,移除对 lineId 的支持
- 重构稳态校验表单项验证规则
- 移除磁盘监控作业详情抽屉组件
- 移除磁盘监控作业表格组件
- 更新路由配置以支持新的系统监控路径
- 添加测试报告相关字典代码常量
- 更新 ICD 路径表单和结果面板功能
2026-07-01 13:18:17 +08:00

63 lines
2.1 KiB
JavaScript

import { readFileSync } from 'node:fs'
import { dirname, resolve } from 'node:path'
import { fileURLToPath } from 'node:url'
const root = resolve(dirname(fileURLToPath(import.meta.url)), '../..')
const read = path => readFileSync(resolve(root, path), 'utf8')
const staticRouterSource = read('routers/modules/staticRouter.ts')
const authStoreSource = read('stores/modules/auth.ts')
const expectedPaths = [
'/system-monitor/dbms',
'/system-monitor/dbms/index',
'/system-monitor/databaseMonitor',
'/system-monitor/databaseMonitor/index',
'/system-monitor/database-monitor',
'/system-monitor/database-monitor/index',
'/systemMonitor/dbms',
'/systemMonitor/dbms/index',
'/systemMonitor/databaseMonitor',
'/systemMonitor/databaseMonitor/index',
'/systemMonitor/database-monitor',
'/systemMonitor/database-monitor/index',
'/system-ops/dbms/index',
'/system-ops/database-monitor',
'/system-ops/database-monitor/index'
]
const errors = []
const dbmsRouteIndex = staticRouterSource.indexOf("name: 'systemOpsDbms'")
if (dbmsRouteIndex === -1) {
errors.push('staticRouter.ts must define the systemOpsDbms route')
} else {
const nextRouteIndex = staticRouterSource.indexOf('\n {', dbmsRouteIndex + 1)
const routeBlock = staticRouterSource.slice(dbmsRouteIndex, nextRouteIndex === -1 ? undefined : nextRouteIndex)
for (const path of expectedPaths) {
if (!routeBlock.includes(`'${path}'`)) {
errors.push(`systemOpsDbms route alias must include ${path}`)
}
}
}
for (const snippet of [
'function isDbmsMenu',
"if (isDbmsMenu(menu))",
"return '/system-ops/dbms'",
"menu.name = 'systemOpsDbms'",
"menu.component = '@/views/system-ops/dbms/index.vue'"
]) {
if (!authStoreSource.includes(snippet)) {
errors.push(`auth.ts must include DBMS menu normalization snippet: ${snippet}`)
}
}
if (errors.length) {
console.error('dbms route contract failed:')
for (const error of errors) console.error(`- ${error}`)
process.exit(1)
}
console.log('dbms route contract passed')