48 lines
1.8 KiB
JavaScript
48 lines
1.8 KiB
JavaScript
|
|
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语句');
|
|||
|
|
}
|