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数据的位置');
|
||
} |