修改问题
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
const assert = require('assert');
|
||||
const fs = require('fs');
|
||||
const path = require('path');
|
||||
|
||||
const root = path.join(__dirname, '..');
|
||||
const appContractPath = path.join(root, 'APP.openapi.json');
|
||||
const obsoleteRecordPaths = [
|
||||
'docs/api-page-integration-2026-07-09.md',
|
||||
'docs/api-page-integration-tracker-2026-07-09.md'
|
||||
];
|
||||
const forbiddenPatterns = [
|
||||
/\/genealogy\/app/,
|
||||
/\bAPP_(?:LOGIN|REGISTER|PHONE_CHANGE|FORGOT_PASSWORD|SMS_CODE|ACCOUNT_DEACTIVATE)\b/,
|
||||
/APP\.openapi\.json/
|
||||
];
|
||||
const checkedFiles = [
|
||||
'utils/ApiClient.js',
|
||||
'public/js/auth-pages.js',
|
||||
'public/js/captcha-pages.js',
|
||||
'login.html',
|
||||
'register.html',
|
||||
'forgot-password.html',
|
||||
'app.html',
|
||||
'download.html',
|
||||
'notice-detail.html',
|
||||
'profile-album.html',
|
||||
'profile-data.html',
|
||||
'profile-gift.html',
|
||||
'profile-security.html',
|
||||
'profile-services.html',
|
||||
'profile-tree.html',
|
||||
'genealogy-pc-openapi.yaml',
|
||||
'docs/pc-api-page-integration-tracker-2026-07-09.md',
|
||||
'docs/superpowers/plans/2026-07-09-pc-api-replan.md',
|
||||
'docs/superpowers/plans/2026-07-09-pc-auth-three-pages.md',
|
||||
'docs/superpowers/plans/2026-07-09-tac-captcha-auth.md',
|
||||
'docs/superpowers/plans/2026-07-10-pc-tracker-reverification.md',
|
||||
'public/js/album-pages.js',
|
||||
'public/js/article-pages.js',
|
||||
'public/js/ceremony-pages.js',
|
||||
'public/js/feed-pages.js',
|
||||
'public/js/genealogy-pages.js',
|
||||
'public/js/growth-pages.js',
|
||||
'public/js/lineage-pages.js',
|
||||
'public/js/member-admin-pages.js',
|
||||
'public/js/memo-pages.js',
|
||||
'public/js/vip-pages.js'
|
||||
];
|
||||
|
||||
function read(relativePath) {
|
||||
return fs.readFileSync(path.join(root, relativePath), 'utf8');
|
||||
}
|
||||
|
||||
function run() {
|
||||
const apiClient = read('utils/ApiClient.js');
|
||||
const authPages = read('public/js/auth-pages.js');
|
||||
|
||||
assert.strictEqual(fs.existsSync(appContractPath), false);
|
||||
obsoleteRecordPaths.forEach((relativePath) => {
|
||||
assert.strictEqual(fs.existsSync(path.join(root, relativePath)), false, `${relativePath} must be removed`);
|
||||
});
|
||||
assert.match(apiClient, /\/genealogy\/pc\/auth\/login\/sms/);
|
||||
assert.match(authPages, /captchaScene: 'WEB_H5_LOGIN'/);
|
||||
|
||||
checkedFiles.forEach((relativePath) => {
|
||||
const content = read(relativePath);
|
||||
|
||||
forbiddenPatterns.forEach((pattern) => {
|
||||
assert.doesNotMatch(content, pattern, `${relativePath} must not retain APP API contracts`);
|
||||
});
|
||||
});
|
||||
|
||||
console.log('pc-api-contract tests passed');
|
||||
}
|
||||
|
||||
run();
|
||||
Reference in New Issue
Block a user