Files
online_sys/frontend_智能开发/updateMyProjects.cjs

50 lines
1.6 KiB
JavaScript
Raw Normal View History

const fs = require('fs');
// 读取学生完成的项目数据
const projectsData = JSON.parse(
fs.readFileSync('./网页未导入数据/学生完成的项目.json', 'utf-8')
);
// 筛选出智能开发产业的项目
const smartDevProjects = projectsData.filter(item =>
item['所属就业管家'] === '智能开发' &&
item['所属垂直方向'] === 'AI大前端'
);
// 转换为页面需要的格式
const myProjectsData = smartDevProjects.map(item => ({
unitName: item['单元名称查询'],
projects: item['AI项目名称'].filter(p => p && p.trim() !== '')
.map(p => {
// 去掉项目名称前面的序号
return p.replace(/^\d+\.\s*/, '');
})
}));
// 生成要替换的代码
const projectsCode = `const myProjectsData = ${JSON.stringify(myProjectsData, null, 2)};`;
// 读取原文件
const filePath = './src/pages/ProjectLibraryPage/index.jsx';
let fileContent = fs.readFileSync(filePath, 'utf-8');
// 备份原文件
const backupPath = `${filePath}.backup_myprojects_${new Date().toISOString().replace(/[:.]/g, '-')}`;
fs.writeFileSync(backupPath, fileContent);
console.log(`✅ 已创建备份:${backupPath}`);
// 替换myProjectsData数据
fileContent = fileContent.replace(
/const myProjectsData = \[\s*[\s\S]*?\];/,
projectsCode
);
// 写回文件
fs.writeFileSync(filePath, fileContent);
console.log('✅ 我的项目库数据更新完成!');
console.log(`共导入 ${myProjectsData.length} 个单元的项目数据`);
console.log('单元列表:');
myProjectsData.forEach((unit, index) => {
console.log(`${index + 1}. ${unit.unitName} (${unit.projects.length}个项目)`);
});