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