主要内容: - 包含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>
122 lines
9.8 KiB
JavaScript
122 lines
9.8 KiB
JavaScript
import fs from 'fs';
|
||
|
||
// 读取财经商贸岗位简历.json
|
||
const jobsData = JSON.parse(fs.readFileSync('网页未导入数据/财经商贸产业/财经商贸岗位简历.json', 'utf8'));
|
||
|
||
// 创建岗位名称到等级的映射
|
||
const levelMapping = {};
|
||
jobsData.forEach(job => {
|
||
levelMapping[job['岗位名称']] = job['岗位等级标签'];
|
||
});
|
||
|
||
console.log('岗位等级映射:');
|
||
console.log(JSON.stringify(levelMapping, null, 2));
|
||
|
||
// 读取当前的项目库Mock数据
|
||
const mockFilePath = 'src/mocks/projectLibraryMock.js';
|
||
let mockContent = fs.readFileSync(mockFilePath, 'utf8');
|
||
|
||
// 提取projects数组
|
||
const projectsMatch = mockContent.match(/const projects = (\[[\s\S]*?\n\]);/);
|
||
if (projectsMatch) {
|
||
let projectsStr = projectsMatch[1];
|
||
|
||
// 手动更新每个岗位的等级
|
||
// 项目1的岗位
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "出口退税专员"/, '"level": "基础岗",\n "position": "出口退税专员"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "国贸\/贸易储备干部"/, '"level": "储备干部岗",\n "position": "国贸/贸易储备干部"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "外贸业务员"/, '"level": "基础岗",\n "position": "外贸业务员"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "外贸跟单员"/, '"level": "基础岗",\n "position": "外贸跟单员"');
|
||
projectsStr = projectsStr.replace(/"level": "储备干部岗",\s*"position": "外贸业务主管"/, '"level": "技术骨干岗",\n "position": "外贸业务主管"');
|
||
|
||
// 项目2的岗位
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "国际物流顾问"/, '"level": "技术骨干岗",\n "position": "国际物流顾问"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "国际货运代理"/, '"level": "技术骨干岗",\n "position": "国际货运代理"');
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "国际物流专员"/, '"level": "基础岗",\n "position": "国际物流专员"');
|
||
|
||
// 项目3的岗位
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "进出口关务员"/, '"level": "基础岗",\n "position": "进出口关务员"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "报关员"/, '"level": "基础岗",\n "position": "报关员"');
|
||
|
||
// 项目4的岗位
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "国际贸易专员"/, '"level": "基础岗",\n "position": "国际贸易专员"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "报检员"/, '"level": "基础岗",\n "position": "报检员"');
|
||
projectsStr = projectsStr.replace(/"level": "储备干部岗",\s*"position": "报关查验主管"/, '"level": "技术骨干岗",\n "position": "报关查验主管"');
|
||
|
||
// 项目5的岗位
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "供应链专员"/, '"level": "基础岗",\n "position": "供应链专员"');
|
||
projectsStr = projectsStr.replace(/"level": "储备干部岗",\s*"position": "供应链经理"/, '"level": "储备干部岗",\n "position": "供应链经理"');
|
||
|
||
// 项目6的岗位
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "人力资源顾问"/, '"level": "基础岗",\n "position": "人力资源顾问"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "HRBP"/, '"level": "技术骨干岗",\n "position": "HRBP"');
|
||
|
||
// 项目7的岗位
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "采购专员"/, '"level": "基础岗",\n "position": "采购专员"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "国际采购助理"/, '"level": "储备干部岗",\n "position": "国际采购助理"');
|
||
|
||
// 项目8的岗位
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "成本核算员"/, '"level": "基础岗",\n "position": "成本核算员"');
|
||
|
||
// 项目9的岗位
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "客户关系管理助理"/, '"level": "储备干部岗",\n "position": "客户关系管理助理"');
|
||
projectsStr = projectsStr.replace(/"level": "储备干部岗",\s*"position": "客户关系经理"/, '"level": "储备干部岗",\n "position": "客户关系经理"');
|
||
|
||
// 项目10的岗位
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "市场营销专员"/, '"level": "基础岗",\n "position": "市场营销专员"');
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "市场推广专员"/, '"level": "基础岗",\n "position": "市场推广专员"');
|
||
|
||
// 项目11的岗位
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "电商推广专员"/, '"level": "基础岗",\n "position": "电商推广专员"');
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "电商选品专员"/, '"level": "基础岗",\n "position": "电商选品专员"');
|
||
|
||
// 项目12的岗位
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "电商运营专员"/, '"level": "基础岗",\n "position": "电商运营专员"');
|
||
|
||
// 项目13的岗位
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "跨境电商运营助理"/, '"level": "基础岗",\n "position": "跨境电商运营助理"');
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "跨境电商运营专员"/, '"level": "基础岗",\n "position": "跨境电商运营专员"');
|
||
|
||
// 项目14的岗位
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "跨境电商个人运营"/, '"level": "基础岗",\n "position": "跨境电商个人运营"');
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "跨境电商供应链专员"/, '"level": "基础岗",\n "position": "跨境电商供应链专员"');
|
||
|
||
// 项目15的岗位
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "TikTok电商运营"/, '"level": "基础岗",\n "position": "TikTok电商运营"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "海外社交媒体运营"/, '"level": "基础岗",\n "position": "海外社交媒体运营"');
|
||
|
||
// 项目16的岗位
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "物流跟单专员"/, '"level": "基础岗",\n "position": "物流跟单专员"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "贸易单证员"/, '"level": "基础岗",\n "position": "贸易单证员"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "单证文员"/, '"level": "基础岗",\n "position": "单证文员"');
|
||
|
||
// 项目17的岗位
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "金融数据处理专员"/, '"level": "基础岗",\n "position": "金融数据处理专员"');
|
||
projectsStr = projectsStr.replace(/"level": "储备干部岗",\s*"position": "金融科技产品经理"/, '"level": "储备干部岗",\n "position": "金融科技产品经理"');
|
||
|
||
// 项目18的岗位
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "投资管培生"/, '"level": "基础岗",\n "position": "投资管培生"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "证券经纪人"/, '"level": "技术骨干岗",\n "position": "证券经纪人"');
|
||
|
||
// 项目19的岗位
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "保险精算师"/, '"level": "技术骨干岗",\n "position": "保险精算师"');
|
||
projectsStr = projectsStr.replace(/"level": "储备干部岗",\s*"position": "保险产品经理助理"/, '"level": "储备干部岗",\n "position": "保险产品经理助理"');
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "保险专员"/, '"level": "基础岗",\n "position": "保险专员"');
|
||
|
||
// 项目20的岗位
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "财务管理培训生"/, '"level": "基础岗",\n "position": "财务管理培训生"');
|
||
projectsStr = projectsStr.replace(/"level": "技术骨干岗",\s*"position": "外汇专员"/, '"level": "基础岗",\n "position": "外汇专员"');
|
||
projectsStr = projectsStr.replace(/"level": "普通岗",\s*"position": "商务管理培训生"/, '"level": "基础岗",\n "position": "商务管理培训生"');
|
||
|
||
// 替换文件中的projects数组
|
||
mockContent = mockContent.replace(/const projects = \[[\s\S]*?\n\];/, `const projects = ${projectsStr};`);
|
||
|
||
// 写回文件
|
||
fs.writeFileSync(mockFilePath, mockContent, 'utf8');
|
||
|
||
console.log('\n项目库岗位等级已更新完成!');
|
||
console.log('所有"普通岗"已替换为"基础岗"');
|
||
console.log('岗位等级已根据财经商贸岗位简历.json重新分配');
|
||
} else {
|
||
console.error('无法找到projects数组!');
|
||
} |