主要内容: - 包含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>
65 lines
2.3 KiB
JavaScript
65 lines
2.3 KiB
JavaScript
import fs from 'fs';
|
||
|
||
// 读取环保岗位简历数据
|
||
const resumeData = JSON.parse(fs.readFileSync('网页未导入数据/环保产业/环保岗位简历.json', 'utf8'));
|
||
|
||
// 创建岗位等级映射
|
||
const positionLevelMap = {};
|
||
resumeData.forEach(item => {
|
||
positionLevelMap[item.岗位名称] = item.岗位等级标签;
|
||
});
|
||
|
||
console.log('岗位等级映射:');
|
||
console.log(JSON.stringify(positionLevelMap, null, 2));
|
||
|
||
// 读取当前的projectLibraryMock.js文件
|
||
let mockFileContent = fs.readFileSync('src/mocks/projectLibraryMock.js', 'utf8');
|
||
|
||
// 更新所有岗位的等级
|
||
Object.keys(positionLevelMap).forEach(positionName => {
|
||
const level = positionLevelMap[positionName];
|
||
|
||
// 使用正则表达式查找并替换
|
||
// 匹配模式: "level": "任意等级", "position": "特定岗位名"
|
||
const regex = new RegExp(
|
||
`("level":\\s*)"[^"]*"(,\\s*\\n\\s*"position":\\s*"${positionName.replace(/[()]/g, '\\$&')}")`,
|
||
'g'
|
||
);
|
||
|
||
mockFileContent = mockFileContent.replace(regex, `$1"${level}"$2`);
|
||
|
||
// 也匹配反向的情况: "position": "特定岗位名" 后面跟着 "level": "任意等级"
|
||
const regex2 = new RegExp(
|
||
`("position":\\s*"${positionName.replace(/[()]/g, '\\$&')}"\\s*\\},\\s*\\{\\s*"level":\\s*)"[^"]*"`,
|
||
'g'
|
||
);
|
||
|
||
// 处理单个岗位对象中的情况
|
||
const regex3 = new RegExp(
|
||
`(\\{\\s*"level":\\s*)"[^"]*"(,\\s*"position":\\s*"${positionName.replace(/[()]/g, '\\$&')}"\\s*\\})`,
|
||
'g'
|
||
);
|
||
|
||
mockFileContent = mockFileContent.replace(regex3, `$1"${level}"$2`);
|
||
});
|
||
|
||
// 保存更新后的文件
|
||
fs.writeFileSync('src/mocks/projectLibraryMock.js', mockFileContent);
|
||
|
||
console.log('\\n岗位等级更新完成!');
|
||
|
||
// 验证更新结果
|
||
const updatedContent = fs.readFileSync('src/mocks/projectLibraryMock.js', 'utf8');
|
||
const matches = updatedContent.match(/"position":\s*"[^"]+"/g) || [];
|
||
console.log(`\\n共找到 ${matches.length} 个岗位`);
|
||
|
||
// 提取并显示更新后的岗位等级
|
||
console.log('\\n更新后的岗位等级示例:');
|
||
const positionBlocks = updatedContent.match(/\{\s*"level":\s*"[^"]+",\s*"position":\s*"[^"]+"\s*\}/g) || [];
|
||
positionBlocks.slice(0, 10).forEach(block => {
|
||
const position = block.match(/"position":\s*"([^"]+)"/)?.[1];
|
||
const level = block.match(/"level":\s*"([^"]+)"/)?.[1];
|
||
if (position && level) {
|
||
console.log(` ${position}: ${level}`);
|
||
}
|
||
}); |