锁定结果总览前端接口契约

This commit is contained in:
wkc
2026-03-22 12:06:38 +08:00
parent 69dfe92ce8
commit 44c782c1e2
2 changed files with 47 additions and 0 deletions

View File

@@ -10,6 +10,7 @@ const source = fs.readFileSync(
[
"getOverviewDashboard",
"getOverviewRiskPeople",
"getOverviewRiskModelCards",
"loadOverviewData",
"Promise.all",
].forEach((token) => assert(source.includes(token), token));
@@ -17,3 +18,25 @@ const source = fs.readFileSync(
assert(!source.includes("getOverviewTopRiskPeople"), "页面不应再依赖TOP10接口");
assert(!source.includes("topRiskPeopleRes"), "页面不应再处理TOP10响应");
assert(!source.includes("topRiskPeopleData"), "页面不应再处理TOP10数据");
const loadOverviewDataBlock = source.match(
/const \[dashboardRes, riskPeopleRes, riskModelCardsRes\] = await Promise\.all\(\[([\s\S]*?)\]\);/m
);
assert(loadOverviewDataBlock, "入口页应继续并发请求仪表盘、风险人员和模型卡片");
[
"getOverviewDashboard(this.projectId)",
"getOverviewRiskPeople(this.projectId)",
"getOverviewRiskModelCards(this.projectId)",
].forEach((token) => assert(loadOverviewDataBlock[0].includes(token), token));
[
"createOverviewLoadedData",
"dashboardData",
"riskPeopleData",
"riskModelCardsData",
].forEach((token) => assert(source.includes(token), token));
["employeeResult", "resultTable", "topRiskList"].forEach((token) =>
assert(!source.includes(token), `入口页不应感知或回退到旧/新底层数据源字段:${token}`)
);

View File

@@ -10,11 +10,35 @@ const source = fs.readFileSync(
[
"getOverviewDashboard",
"getOverviewRiskPeople",
"getOverviewRiskModelCards",
"getOverviewRiskModelPeople",
"/ccdi/project/overview/dashboard",
"/ccdi/project/overview/risk-people",
"/ccdi/project/overview/risk-models/cards",
"/ccdi/project/overview/risk-models/people",
].forEach((token) => assert(source.includes(token), token));
[
"getOverviewTopRiskPeople",
"/ccdi/project/overview/top-risk-people",
].forEach((token) => assert(!source.includes(token), token));
const riskModelPeopleFn = source.match(
/export function getOverviewRiskModelPeople\(params\) \{[\s\S]*?params:\s*\{([\s\S]*?)\}\s*\}\s*\)/m
);
assert(riskModelPeopleFn, "应保留模型人员接口参数透传逻辑");
[
"projectId: params.projectId",
"modelCodes: params.modelCodes",
"matchMode: params.matchMode",
"keyword: params.keyword",
"deptId: params.deptId",
"pageNum: params.pageNum",
"pageSize: params.pageSize",
].forEach((token) => assert(riskModelPeopleFn[0].includes(token), token));
["employeeResult", "resultTable", "overview/result"].forEach((token) =>
assert(!source.includes(token), `前端 API 契约不应感知结果表实现:${token}`)
);