Files
yunhaifinance/backend/fix-auth-deps.js
T

59 lines
1.9 KiB
JavaScript
Raw Normal View History

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);
}