59 lines
1.9 KiB
JavaScript
59 lines
1.9 KiB
JavaScript
const fs = require('fs');
|
|||
|
|
const content = fs.readFileSync('routes/auth.js', 'utf8');
|
||
|
|
|
||
|
|
// 我们需要从主文件中获取db、verifyPassword、generateToken、authenticate等依赖
|
||
|
|
// 首先读取主文件的开头部分
|
||
|
|
const mainContent = fs.readFileSync('final-backend.js', 'utf8');
|
||
|
|
const mainLines = mainContent.split('\n');
|
||
|
|
|
||
|
|
// 提取依赖声明
|
||
|
|
let dbImport = '';
|
||
|
|
let authUtilsImport = '';
|
||
|
|
let authMiddlewareImport = '';
|
||
|
|
|
||
|
|
for (let i = 0; i < 15; i++) {
|
||
|
|
if (mainLines[i].includes('const db = require')) {
|
||
|
|
dbImport = mainLines[i];
|
||
|
|
}
|
||
|
|
if (mainLines[i].includes('const { hashPassword, verifyPassword, generateToken, verifyToken } = require')) {
|
||
|
|
authUtilsImport = mainLines[i];
|
||
|
|
}
|
||
|
|
if (mainLines[i].includes('const { authenticate, optionalAuth, requireRole, requireAdmin } = require')) {
|
||
|
|
authMiddlewareImport = mainLines[i];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log('找到的依赖:');
|
||
|
|
console.log(`1. ${dbImport}`);
|
||
|
|
console.log(`2. ${authUtilsImport}`);
|
||
|
|
console.log(`3. ${authMiddlewareImport}`);
|
||
|
|
|
||
|
|
// 修改auth路由文件,添加依赖
|
||
|
|
const fixedContent = `const express = require('express');
|
||
|
|
const router = express.Router();
|
||
|
|
|
||
|
|
// 导入依赖
|
||
|
|
${dbImport}
|
||
|
|
${authUtilsImport}
|
||
|
|
${authMiddlewareImport}
|
||
|
|
|
||
|
|
${content.split('\n').slice(2).join('\n')}`;
|
||
|
|
|
||
|
|
// 写入修复后的文件
|
||
|
|
fs.writeFileSync('routes/auth.js', fixedContent);
|
||
|
|
console.log('\n✅ 已修复auth路由文件的依赖');
|
||
|
|
|
||
|
|
// 验证修复
|
||
|
|
const fixedFileContent = fs.readFileSync('routes/auth.js', 'utf8');
|
||
|
|
console.log(`修复后文件大小:${fixedFileContent.length} 字符`);
|
||
|
|
|
||
|
|
// 检查是否包含必要的依赖
|
||
|
|
if (fixedFileContent.includes('const db = require') &&
|
||
|
|
fixedFileContent.includes('verifyPassword') &&
|
||
|
|
fixedFileContent.includes('generateToken') &&
|
||
|
|
fixedFileContent.includes('authenticate')) {
|
||
|
|
console.log('✅ 依赖导入验证成功');
|
||
|
|
} else {
|
||
|
|
console.log('❌ 依赖导入验证失败');
|
||
|
|
process.exit(1);
|
||
|
|
}
|