更新12个教务系统并优化项目大小

主要更新:
- 更新所有12个产业的教务系统数据和功能
- 删除所有 node_modules 文件夹(节省3.7GB)
- 删除所有 .yoyo 缓存文件夹(节省1.2GB)
- 删除所有 dist 构建文件(节省55MB)

项目优化:
- 项目大小从 8.1GB 减少到 3.2GB(节省60%空间)
- 保留完整的源代码和配置文件
- .gitignore 已配置,防止再次提交大文件

启动脚本:
- start-industry.sh/bat/ps1 脚本会自动检测并安装依赖
- 首次启动时自动运行 npm install
- 支持单个或批量启动产业系统

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
KQL
2025-10-17 14:36:25 +08:00
parent 60921dbfb9
commit 38350dca36
792 changed files with 470498 additions and 11589 deletions

View File

@@ -0,0 +1,93 @@
import fs from 'fs';
// 读取财经日历数据
const data = JSON.parse(fs.readFileSync('src/data/financeCalendar.json', 'utf-8'));
// 找出所有AI课程和营销能力课
const aiCourses = [];
const marketingCourses = [];
data.forEach((course, index) => {
if (course['课程阶段(公共课)'] === '终生学习系统') {
aiCourses.push({
index: index,
date: course['日期'],
name: course['公共课'],
time: course['上课时间'],
teacher: course['导师姓名查询']
});
} else if (course['课程阶段(公共课)'] === '营销能力课') {
marketingCourses.push({
index: index,
date: course['日期'],
name: course['公共课'],
time: course['上课时间'],
teacher: course['导师姓名查询']
});
}
});
// 按日期分组
const groupByDate = (courses) => {
const dateMap = {};
courses.forEach(course => {
if (!dateMap[course.date]) {
dateMap[course.date] = [];
}
dateMap[course.date].push(course);
});
return dateMap;
};
const aiByDate = groupByDate(aiCourses);
const marketingByDate = groupByDate(marketingCourses);
console.log('=== AI课程终生学习系统日期分析 ===');
console.log(`总数:${aiCourses.length}`);
console.log('\n每个日期的课程');
Object.keys(aiByDate).sort().forEach(date => {
const courses = aiByDate[date];
if (courses.length > 1) {
console.log(`${date}: ${courses.length}个课程(重复!)`);
courses.forEach(c => {
console.log(` - [${c.index}] ${c.name} (${c.time}) - ${c.teacher}`);
});
} else {
console.log(`${date}: ${courses[0].name}`);
}
});
console.log('\n=== 营销能力课日期分析 ===');
console.log(`总数:${marketingCourses.length}`);
console.log('\n每个日期的课程');
Object.keys(marketingByDate).sort().forEach(date => {
const courses = marketingByDate[date];
if (courses.length > 1) {
console.log(`${date}: ${courses.length}个课程(重复!)`);
courses.forEach(c => {
console.log(` - [${c.index}] ${c.name} (${c.time}) - ${c.teacher}`);
});
} else {
console.log(`${date}: ${courses[0].name}`);
}
});
// 查找是否有同一天既有AI课程又有营销能力课
console.log('\n=== 同一天有多种类型课程的日期 ===');
const allDates = new Set([...Object.keys(aiByDate), ...Object.keys(marketingByDate)]);
allDates.forEach(date => {
const aiCount = aiByDate[date]?.length || 0;
const marketingCount = marketingByDate[date]?.length || 0;
if (aiCount > 0 && marketingCount > 0) {
console.log(`${date}:`);
console.log(` - AI课程${aiCount}`);
if (aiByDate[date]) {
aiByDate[date].forEach(c => console.log(` * ${c.name}`));
}
console.log(` - 营销能力课:${marketingCount}`);
if (marketingByDate[date]) {
marketingByDate[date].forEach(c => console.log(` * ${c.name}`));
}
}
});