主要内容: - 包含12个产业的完整教务系统前端代码 - 智能启动脚本 (start-industry.sh) - 可视化产业导航页面 (index.html) - 项目文档 (README.md) 优化内容: - 删除所有node_modules和.yoyo文件夹,从7.5GB减少到2.7GB - 添加.gitignore文件避免上传不必要的文件 - 自动依赖管理和智能启动系统 产业列表: 1. 文旅产业 (5150) 2. 智能制造 (5151) 3. 智能开发 (5152) 4. 财经商贸 (5153) 5. 视觉设计 (5154) 6. 交通物流 (5155) 7. 大健康 (5156) 8. 土木水利 (5157) 9. 食品产业 (5158) 10. 化工产业 (5159) 11. 能源产业 (5160) 12. 环保产业 (5161) 🤖 Generated with Claude Code Co-Authored-By: Claude <noreply@anthropic.com>
112 lines
4.2 KiB
JavaScript
112 lines
4.2 KiB
JavaScript
import fs from 'fs';
|
||
import path from 'path';
|
||
|
||
// 修改版简历的岗位列表
|
||
const modifiedPositions = [
|
||
"AGV运维专员",
|
||
"WMS技术顾问",
|
||
"物流运营",
|
||
"物流安全员",
|
||
"物流工程师",
|
||
"智能仓储规划师",
|
||
"无人仓拣选工程师",
|
||
"机器人运维工程师",
|
||
"智能仓储运维工程师",
|
||
"智慧物流解决方案工程师"
|
||
];
|
||
|
||
console.log('开始更新修改版简历数据...\n');
|
||
|
||
// 1. 首先更新 ResumeInterviewPage 的 hasRealModifiedVersion 函数
|
||
const pageFilePath = 'src/pages/ResumeInterviewPage/index.jsx';
|
||
let pageContent = fs.readFileSync(pageFilePath, 'utf-8');
|
||
|
||
// 替换 modifiedPositions 数组
|
||
const newModifiedPositions = ` const modifiedPositions = [
|
||
// 交通物流产业岗位
|
||
"AGV运维专员",
|
||
"WMS技术顾问",
|
||
"物流运营",
|
||
"物流安全员",
|
||
"物流工程师",
|
||
"智能仓储规划师",
|
||
"无人仓拣选工程师",
|
||
"机器人运维工程师",
|
||
"智能仓储运维工程师",
|
||
"智慧物流解决方案工程师"
|
||
];`;
|
||
|
||
pageContent = pageContent.replace(
|
||
/const modifiedPositions = \[[\s\S]*?\];/,
|
||
newModifiedPositions
|
||
);
|
||
|
||
fs.writeFileSync(pageFilePath, pageContent, 'utf-8');
|
||
console.log('✓ 已更新 ResumeInterviewPage 的修改版岗位列表\n');
|
||
|
||
// 2. 读取所有修改版简历内容
|
||
const modifiedResumesDir = '网页未导入数据/交通物流产业/交通物流修改版简历';
|
||
const modifiedResumes = {};
|
||
|
||
for (const position of modifiedPositions) {
|
||
const filePath = path.join(modifiedResumesDir, `${position}.md`);
|
||
if (fs.existsSync(filePath)) {
|
||
const content = fs.readFileSync(filePath, 'utf-8');
|
||
modifiedResumes[position] = content;
|
||
console.log(`✓ 读取修改版简历: ${position}`);
|
||
} else {
|
||
console.log(`✗ 未找到修改版简历文件: ${position}.md`);
|
||
}
|
||
}
|
||
|
||
// 3. 读取当前的 mock 数据
|
||
const mockFilePath = 'src/mocks/resumeInterviewMock.js';
|
||
let mockContent = fs.readFileSync(mockFilePath, 'utf-8');
|
||
|
||
// 4. 解析并更新 resumeTemplates 中对应岗位的 modified 字段
|
||
// 由于文件是 JavaScript,我们需要通过字符串替换来更新
|
||
console.log('\n开始更新 resumeTemplates 的 modified 字段...');
|
||
|
||
// 读取交通物流原始数据来建立映射
|
||
const originalData = JSON.parse(fs.readFileSync('网页未导入数据/交通物流产业/交通物流岗位简历.json', 'utf-8'));
|
||
|
||
// 为每个修改版岗位更新数据
|
||
for (const [position, modifiedContent] of Object.entries(modifiedResumes)) {
|
||
// 找到原始数据
|
||
const originalItem = originalData.find(item => item.岗位名称 === position);
|
||
|
||
if (originalItem) {
|
||
// 在 mockContent 中查找并替换该岗位的 content.modified
|
||
// 使用更精确的正则表达式来匹配特定岗位的 content 部分
|
||
const positionPattern = new RegExp(
|
||
`("position":\\s*"${position}"[\\s\\S]*?"content":\\s*\\{[\\s\\S]*?"modified":\\s*)"[^"]*"`,
|
||
'g'
|
||
);
|
||
|
||
// 转义修改版内容中的特殊字符
|
||
const escapedContent = JSON.stringify(modifiedContent).slice(1, -1);
|
||
|
||
// 替换 modified 字段
|
||
const replacement = `$1"${escapedContent}"`;
|
||
|
||
if (mockContent.match(positionPattern)) {
|
||
mockContent = mockContent.replace(positionPattern, replacement);
|
||
console.log(`✓ 更新岗位 "${position}" 的修改版简历`);
|
||
} else {
|
||
console.log(`✗ 未找到岗位 "${position}" 在 resumeTemplates 中`);
|
||
}
|
||
}
|
||
}
|
||
|
||
// 5. 保存更新后的 mock 文件
|
||
// 先备份
|
||
const backupFileName = `src/mocks/resumeInterviewMock.js.backup_modified_${new Date().toISOString().replace(/[:.]/g, '-')}`;
|
||
fs.copyFileSync(mockFilePath, backupFileName);
|
||
console.log(`\n原文件已备份到: ${backupFileName}`);
|
||
|
||
fs.writeFileSync(mockFilePath, mockContent, 'utf-8');
|
||
console.log('✓ resumeInterviewMock.js 已更新\n');
|
||
|
||
console.log('修改版简历数据更新完成!');
|
||
console.log(`- 更新了 ${modifiedPositions.length} 个岗位的修改版状态`);
|
||
console.log(`- 成功读取并更新了 ${Object.keys(modifiedResumes).length} 个修改版简历内容`); |