Files
yunhaifinance/backend/update-main-file.js
T

85 lines
2.6 KiB
JavaScript

const fs = require('fs');
const content = fs.readFileSync('final-backend.js', 'utf8');
const lines = content.split('\n');
// auth模块的起始行和结束行
const authStartLine = 379; // app.post('/api/auth/login'
const authEndLine = 472; // 客户管理API开始之前
console.log(`准备删除auth模块代码(第${authStartLine}-${authEndLine}行)`);
// 备份原文件
fs.writeFileSync('final-backend.js.backup', content);
console.log('✅ 已创建备份文件:final-backend.js.backup');
// 删除auth模块代码
const linesWithoutAuth = [
...lines.slice(0, authStartLine - 1),
...lines.slice(authEndLine)
];
// 在所有路由定义之前插入路由引用
// 查找第一个路由定义的位置(users模块开始)
let firstRouteLine = -1;
for (let i = 0; i < linesWithoutAuth.length; i++) {
if (linesWithoutAuth[i].includes('app.') && linesWithoutAuth[i].includes('/api/')) {
firstRouteLine = i;
break;
}
}
if (firstRouteLine === -1) {
console.log('❌ 未找到路由定义位置');
process.exit(1);
}
console.log(`第一个路由定义在第${firstRouteLine + 1}行`);
// 在第一个路由定义之前插入auth路由引用
const updatedLines = [
...linesWithoutAuth.slice(0, firstRouteLine),
'',
'// ==================== 认证路由 ====================',
'const authRoutes = require(\'./routes/auth\');',
'app.use(\'/api/auth\', authRoutes);',
'',
...linesWithoutAuth.slice(firstRouteLine)
];
// 写入更新后的文件
fs.writeFileSync('final-backend.js', updatedLines.join('\n'));
console.log('✅ 已更新主文件');
// 验证修改
const updatedContent = fs.readFileSync('final-backend.js', 'utf8');
const updatedLinesArray = updatedContent.split('\n');
// 检查auth路由引用是否存在
let authRoutesFound = false;
let authUseFound = false;
for (let i = 0; i < updatedLinesArray.length; i++) {
if (updatedLinesArray[i].includes('const authRoutes = require(\'./routes/auth\')')) {
authRoutesFound = true;
console.log(`✅ 找到auth路由引用(第${i + 1}行)`);
}
if (updatedLinesArray[i].includes('app.use(\'/api/auth\', authRoutes)')) {
authUseFound = true;
console.log(`✅ 找到auth路由使用(第${i + 1}行)`);
}
}
// 检查原auth代码是否被删除
let authCodeFound = false;
for (let i = 0; i < updatedLinesArray.length; i++) {
if (updatedLinesArray[i].includes('/api/auth/login')) {
authCodeFound = true;
console.log(`❌ 发现未删除的auth代码(第${i + 1}行)`);
}
}
if (authRoutesFound && authUseFound && !authCodeFound) {
console.log('✅ 文件修改验证成功');
} else {
console.log('❌ 文件修改验证失败');
process.exit(1);
}