Files
online_sys/frontend_财经商贸/updateProjectLevels.mjs
KQL a7242f0c69 Initial commit: 教务系统在线平台
- 包含4个产业方向的前端项目:智能开发、智能制造、大健康、财经商贸
- 已清理node_modules、.yoyo等大文件,项目大小从2.6GB优化至631MB
- 配置完善的.gitignore文件

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 18:16:55 +08:00

122 lines
9.8 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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数组');
}