58 lines
2.2 KiB
JavaScript
58 lines
2.2 KiB
JavaScript
|
|
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数据的位置');
|
|||
|
|
}
|