Files
teach_sys_Demo/updateDashboardTasks.js

58 lines
2.2 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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