86 lines
2.5 KiB
JavaScript
86 lines
2.5 KiB
JavaScript
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} 个`); |