DG8 收口设计主参考系统治理

这个提交包含在:
2026-05-13 23:08:52 +08:00
父节点 c628038ed8
当前提交 3ac5c785b1
共修改 7 个文件,包含 91 行新增和 24 行删除
+51 -1
查看文件
@@ -17,6 +17,21 @@ const scanRoots = [
];
const sourceExtensions = new Set([".js", ".jsx", ".ts", ".tsx"]);
const forbiddenCopy = ["先处理", "清爽"];
const forbiddenCompetitorReferences = [
"飞书",
"钉钉",
"泛微",
"每刻",
"合思",
"易快报",
"金蝶",
"用友",
"Ant Design",
"WeUI",
"e-office",
"e-cology",
];
const forbiddenDesignMetaCopy = ["照搬"];
const userFacingBusinessTermFiles = new Set([
"client/src/pages/MobileCapturePage.tsx",
"client/src/pages/MobileNotificationsPage.tsx",
@@ -111,6 +126,38 @@ function scanForbiddenCopy(file, source) {
}
}
function scanCompetitorReferenceCopy(file, source) {
for (const phrase of forbiddenCompetitorReferences) {
let start = source.indexOf(phrase);
while (start !== -1) {
addFinding({
rule: "copy.no_competitor_reference",
severity: "error",
file,
line: lineNumber(source, start),
message: `用户界面不得出现竞品或外部设计系统名称:${phrase}`,
evidence: phrase,
});
start = source.indexOf(phrase, start + phrase.length);
}
}
for (const phrase of forbiddenDesignMetaCopy) {
let start = source.indexOf(phrase);
while (start !== -1) {
addFinding({
rule: "copy.no_design_meta_labels",
severity: "error",
file,
line: lineNumber(source, start),
message: `用户界面不得出现设计治理元话语:${phrase}`,
evidence: phrase,
});
start = source.indexOf(phrase, start + phrase.length);
}
}
}
function scanMobileDarkControls(file, source) {
const normalized = toPosix(file);
const mobileScope = /\/Mobile|\/mobile\//.test(normalized) || /mobile/i.test(path.basename(file));
@@ -487,6 +534,7 @@ function scanNavigationTitleCoverage(file, source) {
function scanFileSource(file, source) {
scanForbiddenCopy(file, source);
scanCompetitorReferenceCopy(file, source);
scanUserFacingBusinessTerms(file, source);
scanMobileDarkControls(file, source);
scanNativeFileInputs(file, source);
@@ -513,13 +561,15 @@ function runSelfTest() {
file: "client/src/pages/MobileBadFixture.tsx",
source: `
export function MobileBadFixture() {
return <div><table><tbody /></table><aside>备用模块</aside><button>Upload</button><div>任务ID:{task.id}</div><div>业务单号:{task.reference}</div></div>;
return <div><table><tbody /></table><aside>备用模块</aside><button>Upload</button><div>任务ID:{task.id}</div><div>业务单号:{task.reference}</div><div>参考飞书布局照搬</div></div>;
}
`,
expectedRules: [
"mobile.no_desktop_table",
"mobile.no_pc_shell",
"copy.no_english_upload_labels",
"copy.no_competitor_reference",
"copy.no_design_meta_labels",
"data.no_uuid_primary_display",
"display.no_duplicate_business_identifier",
],