70 lines
2.5 KiB
JavaScript
70 lines
2.5 KiB
JavaScript
|
|
const fs = require('fs');
|
||
|
|
const path = require('path');
|
||
|
|
|
||
|
|
// 读取日历课程数据
|
||
|
|
const calendarPath = path.join(__dirname, 'src/data/calendarCourses.json');
|
||
|
|
const calendarData = JSON.parse(fs.readFileSync(calendarPath, 'utf-8'));
|
||
|
|
|
||
|
|
// 提取所有课程名称
|
||
|
|
const allCourses = new Set();
|
||
|
|
const coursesByType = {
|
||
|
|
'复合技能阶段': new Set(),
|
||
|
|
'垂直方向阶段(方向二:商业活动策划)': new Set(),
|
||
|
|
'公开课': new Set()
|
||
|
|
};
|
||
|
|
|
||
|
|
calendarData.forEach(day => {
|
||
|
|
// 复合技能阶段课程
|
||
|
|
if (day['复合技能阶段'] && day['复合技能阶段'].trim()) {
|
||
|
|
const course = day['复合技能阶段'].trim();
|
||
|
|
allCourses.add(course);
|
||
|
|
coursesByType['复合技能阶段'].add(course);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 垂直方向课程
|
||
|
|
if (day['垂直方向阶段(方向二:商业活动策划)'] && day['垂直方向阶段(方向二:商业活动策划)'].trim()) {
|
||
|
|
const course = day['垂直方向阶段(方向二:商业活动策划)'].trim();
|
||
|
|
allCourses.add(course);
|
||
|
|
coursesByType['垂直方向阶段(方向二:商业活动策划)'].add(course);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 公开课
|
||
|
|
if (day['公开课'] && day['公开课'].trim()) {
|
||
|
|
const course = day['公开课'].trim();
|
||
|
|
allCourses.add(course);
|
||
|
|
coursesByType['公开课'].add(course);
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
console.log('===== 日历课程数据统计 =====');
|
||
|
|
console.log('日历总天数:', calendarData.length);
|
||
|
|
console.log('所有唯一课程数:', allCourses.size);
|
||
|
|
|
||
|
|
console.log('\n===== 各类型课程数 =====');
|
||
|
|
Object.entries(coursesByType).forEach(([type, courses]) => {
|
||
|
|
console.log(`${type}: ${courses.size}个课程`);
|
||
|
|
});
|
||
|
|
|
||
|
|
console.log('\n===== 复合技能阶段课程列表 =====');
|
||
|
|
const compound = [...coursesByType['复合技能阶段']].sort();
|
||
|
|
compound.forEach((course, index) => {
|
||
|
|
console.log(` ${index + 1}. ${course}`);
|
||
|
|
});
|
||
|
|
|
||
|
|
console.log('\n===== 垂直方向课程列表 =====');
|
||
|
|
const vertical = [...coursesByType['垂直方向阶段(方向二:商业活动策划)']].sort();
|
||
|
|
vertical.forEach((course, index) => {
|
||
|
|
console.log(` ${index + 1}. ${course}`);
|
||
|
|
});
|
||
|
|
|
||
|
|
// 保存所有课程到文件
|
||
|
|
const outputPath = path.join(__dirname, 'calendar_courses_list.json');
|
||
|
|
fs.writeFileSync(outputPath, JSON.stringify({
|
||
|
|
all: [...allCourses],
|
||
|
|
compound: [...coursesByType['复合技能阶段']],
|
||
|
|
vertical: [...coursesByType['垂直方向阶段(方向二:商业活动策划)']],
|
||
|
|
openCourse: [...coursesByType['公开课']]
|
||
|
|
}, null, 2), 'utf-8');
|
||
|
|
|
||
|
|
console.log(`\n课程列表已保存到: ${outputPath}`);
|