59 lines
2.5 KiB
JavaScript
59 lines
2.5 KiB
JavaScript
|
|
import companyJobsData from "./网页未导入数据/智能制造产业/智能制造企业内推岗位.json" with { type: "json" };
|
||
|
|
import companyImagesData from "./网页未导入数据/智能制造产业/智能制造_内推岗位企业图片.json" with { type: "json" };
|
||
|
|
|
||
|
|
// 创建岗位名称到图片链接的映射
|
||
|
|
const companyImagesMap = {};
|
||
|
|
companyImagesData.forEach(item => {
|
||
|
|
const positionName = item["内推岗位名称"];
|
||
|
|
const imageLinks = item["BOSS照片链接"];
|
||
|
|
if (positionName && imageLinks) {
|
||
|
|
companyImagesMap[positionName] = imageLinks.split(',').map(url => url.trim());
|
||
|
|
}
|
||
|
|
});
|
||
|
|
|
||
|
|
// 转换函数
|
||
|
|
function transformJobData(rawJob, index) {
|
||
|
|
const recruitNumberMatch = rawJob["招聘人数"]?.match(/\d+/);
|
||
|
|
const remainingPositions = recruitNumberMatch ? recruitNumberMatch[0] : "若干";
|
||
|
|
const positionName = rawJob["内推岗位名称"];
|
||
|
|
const companyImages = companyImagesMap[positionName] || [];
|
||
|
|
|
||
|
|
return {
|
||
|
|
id: index + 1,
|
||
|
|
position: rawJob["内推岗位名称"],
|
||
|
|
salary: rawJob["薪资"],
|
||
|
|
location: rawJob["工作地点"],
|
||
|
|
education: rawJob["学历要求"],
|
||
|
|
recruitNumber: rawJob["招聘人数"],
|
||
|
|
remainingPositions: remainingPositions,
|
||
|
|
tags: rawJob["职位标签"] || [],
|
||
|
|
benefits: rawJob["福利标签"] || [],
|
||
|
|
deadline: rawJob["截止时间"],
|
||
|
|
jobCategory: rawJob["岗位相关标签"],
|
||
|
|
details: {
|
||
|
|
description: rawJob["职位描述"] || "",
|
||
|
|
requirementsText: rawJob["任职要求"] || "",
|
||
|
|
companyInfo: rawJob["公司介绍"] || "",
|
||
|
|
companyImages: companyImages
|
||
|
|
},
|
||
|
|
_raw: rawJob
|
||
|
|
};
|
||
|
|
}
|
||
|
|
|
||
|
|
// 测试自动化技术员
|
||
|
|
const jobs = companyJobsData.map((job, index) => transformJobData(job, index));
|
||
|
|
const technicianJob = jobs.find(job => job.position === "自动化技术员");
|
||
|
|
|
||
|
|
console.log("=== 转换后的自动化技术员数据 ===\n");
|
||
|
|
console.log("岗位名称:", technicianJob.position);
|
||
|
|
console.log("薪资:", technicianJob.salary);
|
||
|
|
console.log("公司介绍长度:", technicianJob.details.companyInfo.length, "字符");
|
||
|
|
console.log("公司图片数量:", technicianJob.details.companyImages.length);
|
||
|
|
console.log("公司图片列表:", technicianJob.details.companyImages.slice(0, 2).map((url, i) => `\n ${i+1}. ${url.substring(0, 80)}...`).join(''));
|
||
|
|
|
||
|
|
// 测试Rhino建模师
|
||
|
|
const rhinoJob = jobs.find(job => job.position === "Rhino建模师");
|
||
|
|
console.log("\n=== Rhino建模师数据 ===");
|
||
|
|
console.log("岗位名称:", rhinoJob.position);
|
||
|
|
console.log("公司图片数量:", rhinoJob.details.companyImages.length);
|