Files
online_sys/frontend_智能开发/updateDashboardTasks.js

58 lines
2.2 KiB
JavaScript
Raw Permalink Normal View History

import fs from 'fs';
// 读取生成的任务数据
const tasksData = JSON.parse(fs.readFileSync('dashboardTasksData.json', 'utf-8'));
// 读取mockData.js
let mockDataContent = fs.readFileSync('src/data/mockData.js', 'utf-8');
// 找到任务数据更新的位置
// 查找 mockData.dashboardStatistics.tasks = { 的位置
const tasksPattern = /mockData\.dashboardStatistics\.tasks = \{[\s\S]*?\};/;
const tasksMatch = mockDataContent.match(tasksPattern);
if (tasksMatch) {
// 生成weekTasks本周任务
const weekStart = new Date();
weekStart.setDate(weekStart.getDate() - weekStart.getDay());
weekStart.setHours(0, 0, 0, 0);
const weekEnd = new Date(weekStart);
weekEnd.setDate(weekEnd.getDate() + 6);
const weekTasks = tasksData.allTasks.filter(task => {
const taskDate = new Date(task.date);
return taskDate >= weekStart && taskDate <= weekEnd;
});
// 构建新的tasks对象
const newTasks = `mockData.dashboardStatistics.tasks = {
todayTasks: ${JSON.stringify(tasksData.todayTasks, null, 4).split('\n').map((line, i) => i === 0 ? line : ' ' + line).join('\n')},
weekTasks: ${JSON.stringify(weekTasks.slice(0, 5), null, 4).split('\n').map((line, i) => i === 0 ? line : ' ' + line).join('\n')},
allTasks: ${JSON.stringify(tasksData.allTasks, null, 4).split('\n').map((line, i) => i === 0 ? line : ' ' + line).join('\n')}
};`;
// 替换原有的tasks数据
mockDataContent = mockDataContent.replace(tasksPattern, newTasks);
// 写回文件
fs.writeFileSync('src/data/mockData.js', mockDataContent);
console.log('✅ mockData.js中的tasks数据已更新');
console.log(`📝 今日任务: ${tasksData.todayTasks.length}`);
console.log(`📅 本周任务: ${weekTasks.length}`);
console.log(`📋 总任务: ${tasksData.allTasks.length}`);
// 验证今日任务
if (tasksData.todayTasks.length > 0) {
console.log('\n今日任务详情');
tasksData.todayTasks.forEach(task => {
console.log(` - ${task.title}`);
console.log(` 课程:${task.courseName}`);
console.log(` 讲师:${task.teacher}`);
console.log(` 状态:${task.status}`);
});
}
} else {
console.error('❌ 无法找到tasks数据的位置');
}