Files
ALL-teach_sys/frontend_交通物流/updateCompanyJobs.js
KQL cd2e307402 初始化12个产业教务系统项目
主要内容:
- 包含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>
2025-09-24 14:14:14 +08:00

76 lines
3.3 KiB
JavaScript
Raw 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';
// 读取交通物流内推岗位数据
const trafficLogisticsJobs = JSON.parse(
fs.readFileSync('网页未导入数据/交通物流产业/交通物流内推岗位.json', 'utf-8')
);
// 转换数据格式为 companyJobsNew.json 的格式
const convertedJobs = trafficLogisticsJobs.map(job => ({
"内推岗位名称": job["内推岗位名称"],
"薪资": job["薪资"],
"工作地点": job["工作地点"],
"学历要求": job["学历要求"],
"招聘人数": job["招聘人数"],
"职位标签": job["职位标签"],
"福利标签": job["福利标签"],
"职位描述": job["职位描述"],
"任职要求": job["任职要求"],
"公司介绍": job["公司介绍"],
"岗位相关标签": job["岗位相关标签"],
"截止时间": job["岗位招聘截止时间"] || "2025/12/31",
"岗位标签": "就业"
}));
console.log(`成功转换 ${convertedJobs.length} 个交通物流内推岗位`);
// 备份原文件
const backupFileName = `src/data/companyJobsNew.json.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`;
try {
const originalData = fs.readFileSync('src/data/companyJobsNew.json', 'utf-8');
fs.writeFileSync(backupFileName, originalData);
console.log(`原文件已备份到: ${backupFileName}`);
} catch (error) {
console.log('备份原文件失败:', error.message);
}
// 保存新的 companyJobsNew.json
fs.writeFileSync('src/data/companyJobsNew.json', JSON.stringify(convertedJobs, null, 2), 'utf-8');
console.log('src/data/companyJobsNew.json 已更新');
// 同时更新 interviewStatus.json 中的部分数据,使其与新岗位匹配
const interviewStatusPath = 'src/data/interviewStatus.json';
let interviewStatusData = [];
try {
interviewStatusData = JSON.parse(fs.readFileSync(interviewStatusPath, 'utf-8'));
console.log(`读取到 ${interviewStatusData.length} 条面试状态数据`);
} catch (error) {
console.log('读取 interviewStatus.json 失败,将创建新的数据');
}
// 为部分岗位创建面试状态数据取前10个岗位作为示例
const newInterviewStatus = convertedJobs.slice(0, 10).map((job, index) => ({
"岗位名称": job["内推岗位名称"],
"公司名称": job["公司介绍"] ? job["公司介绍"].split(/[。,]/)[0].substring(0, 20) : "物流科技有限公司",
"投递时间": `2024-0${(index % 9) + 1}-${10 + index}`,
"面试状态": ["已投递", "笔试中", "面试中", "已通过", "未通过"][index % 5],
"面试进度": (index % 4 + 1) * 25,
"下一步": index % 2 === 0 ? "等待HR回复" : "准备面试",
"备注": `交通物流岗位 - ${job["工作地点"]}`
}));
// 备份原面试状态文件
if (interviewStatusData.length > 0) {
const interviewBackup = `src/data/interviewStatus.json.backup_${new Date().toISOString().replace(/[:.]/g, '-')}`;
fs.writeFileSync(interviewBackup, JSON.stringify(interviewStatusData, null, 2));
console.log(`面试状态文件已备份到: ${interviewBackup}`);
}
// 保存新的面试状态数据
fs.writeFileSync(interviewStatusPath, JSON.stringify(newInterviewStatus, null, 2), 'utf-8');
console.log('src/data/interviewStatus.json 已更新');
console.log('\n企业内推岗位数据替换完成');
console.log(`- 更新了 ${convertedJobs.length} 个内推岗位`);
console.log(`- 创建了 ${newInterviewStatus.length} 条面试状态记录`);