Files
jiaowu-test/regenerateDashboardTasks.js

86 lines
2.5 KiB
JavaScript
Raw Permalink Normal View History

import fs from 'fs';
// 读取更新后的mockData
const mockDataContent = fs.readFileSync('src/data/mockData.js', 'utf-8');
// 提取courseLiveList数据
const courseLiveListMatch = mockDataContent.match(/mockData\.courseLiveList = (\[[\s\S]*?\]);/);
if (!courseLiveListMatch) {
console.error('无法找到courseLiveList数据');
process.exit(1);
}
const courseLiveList = eval('(' + courseLiveListMatch[1] + ')');
// 重新生成任务数据
const today = new Date();
today.setHours(0, 0, 0, 0);
const todayStr = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, '0')}-${String(today.getDate()).padStart(2, '0')}`;
console.log('今天的日期:', todayStr);
// 查找今天的课程9月3日
const todaysCourses = [];
courseLiveList.forEach(unit => {
unit.courses.forEach(course => {
if (course.date === todayStr) {
todaysCourses.push({
...course,
unitName: unit.unitName,
unitId: unit.unitId
});
}
});
});
console.log('找到今天的课程:', todaysCourses.length, '门');
todaysCourses.forEach(course => {
console.log(` - ${course.courseName} (${course.teacherName})`);
});
// 生成allTasks
const allTasks = [];
let taskId = 1;
courseLiveList.forEach(unit => {
unit.courses.forEach(course => {
const courseDate = new Date(course.date);
const status = course.completed ? 'COMPLETED' :
course.current ? 'IN_PROGRESS' :
courseDate > today ? 'PENDING' : 'COMPLETED';
allTasks.push({
id: taskId++,
title: `完成${course.courseName}课程学习`,
courseName: course.courseName,
date: course.date,
deadline: `${course.date} 21:00`,
priority: course.current ? 'high' : course.upcoming ? 'medium' : 'low',
status: status,
teacher: course.teacherName,
unit: unit.unitName,
type: 'course'
});
});
});
// 过滤今天的任务
const todayTasks = allTasks.filter(task => task.date === todayStr);
console.log('\n生成的今日任务', todayTasks.length, '个');
todayTasks.forEach(task => {
console.log(` - ${task.title}`);
console.log(` 状态: ${task.status}, 优先级: ${task.priority}`);
});
// 输出结果到文件
const result = {
todayTasks,
allTasks: allTasks.slice(0, 50), // 限制数量
todayStr
};
fs.writeFileSync('dashboardTasksData.json', JSON.stringify(result, null, 2));
console.log('\n✅ Dashboard任务数据已生成到 dashboardTasksData.json');
console.log(`📝 今日任务: ${todayTasks.length}`);
console.log(`📋 总任务: ${allTasks.length}`);