import fs from 'fs'; import path from 'path'; import { fileURLToPath } from 'url'; const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); // 读取mockData.js文件 const mockDataPath = path.join(__dirname, 'src/data/mockData.js'); let mockDataContent = fs.readFileSync(mockDataPath, 'utf-8'); // 备份原文件 const backupPath = path.join(__dirname, 'src/data', `mockData.js.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`); fs.copyFileSync(mockDataPath, backupPath); console.log(`备份已创建: ${backupPath}`); // 在文件末尾(export之前)添加profileOverview.ranking引用 const exportIndex = mockDataContent.lastIndexOf('export default mockData'); if (exportIndex > -1) { // 检查是否已经存在profileOverview.ranking的引用 if (!mockDataContent.includes('mockData.profileOverview.ranking')) { const insertContent = ` // 确保profileOverview使用相同的ranking数据 if (mockData.profileOverview) { mockData.profileOverview.ranking = mockData.ranking; } `; // 在export语句之前插入 mockDataContent = mockDataContent.slice(0, exportIndex) + insertContent + '\n' + mockDataContent.slice(exportIndex); console.log('✅ 成功添加profileOverview.ranking引用'); } else { console.log('profileOverview.ranking引用已存在,跳过添加'); } // 写入更新后的文件 fs.writeFileSync(mockDataPath, mockDataContent, 'utf-8'); console.log('\n数据同步完成:'); console.log('- Dashboard班级排名: mockData.dashboardStatistics.ranking'); console.log('- 个人档案班级排名: mockData.profileOverview.ranking'); console.log('- 弹窗班级排名: mockData.ranking'); console.log('所有三处现在使用相同的ranking数据源'); } else { console.error('未找到export语句'); }