主要更新内容: - 优化UI组件(视频播放器、HR访问模态框、岗位信息展示等) - 更新数据文件(简历、岗位、项目案例等) - 添加新的图片资源(面试状态图标等) - 新增AgentPage等页面组件 - 清理旧的备份文件,提升代码库整洁度 - 优化岗位等级和面试状态的数据结构 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
118 lines
4.8 KiB
JavaScript
118 lines
4.8 KiB
JavaScript
// 测试mockData中的transformCompanyJobs函数
|
||
const companyJobsNewData = require('./src/data/companyJobsNew.json');
|
||
const companyImagesData = require('./网页未导入数据/文旅产业/文旅_内推岗位企业图片.json');
|
||
const interviewStatusData = require('./src/data/interviewStatus.json');
|
||
|
||
// 创建公司图片映射(模拟mockData.js中的逻辑)
|
||
const companyImagesMap = {};
|
||
companyImagesData.forEach(item => {
|
||
const imageUrls = item['BOSS照片链接'] ? item['BOSS照片链接'].split(',').map(url => url.trim()) : [];
|
||
companyImagesMap[item['内推岗位名称']] = imageUrls;
|
||
});
|
||
|
||
console.log('📊 公司图片映射创建完成');
|
||
console.log(' 映射表大小:', Object.keys(companyImagesMap).length);
|
||
console.log(' SEO专员图片数:', companyImagesMap['SEO专员']?.length || 0);
|
||
|
||
// 模拟transformCompanyJobs函数
|
||
const transformCompanyJobs = (jobsData) => {
|
||
const today = new Date();
|
||
today.setHours(0, 0, 0, 0);
|
||
|
||
const interviewedPositions = interviewStatusData.map(status => status["查询岗位名称"]);
|
||
|
||
return jobsData
|
||
.filter(job => !interviewedPositions.includes(job["内推岗位名称"]))
|
||
.map((job, index) => {
|
||
const deadlineParts = job["截止时间"].split('/');
|
||
const deadlineDate = new Date(
|
||
parseInt(deadlineParts[0]),
|
||
parseInt(deadlineParts[1]) - 1,
|
||
parseInt(deadlineParts[2])
|
||
);
|
||
deadlineDate.setHours(0, 0, 0, 0);
|
||
|
||
const isExpired = deadlineDate < today;
|
||
|
||
return {
|
||
id: index + 1,
|
||
company: job["公司介绍"] ? job["公司介绍"].split('。')[0].substring(0, 20) + '...' : `公司${index + 1}`,
|
||
position: job["内推岗位名称"],
|
||
salary: job["薪资"],
|
||
status: isExpired ? "expired" : "available",
|
||
jobType: job["岗位标签"] === "实习" ? "internship" : "fulltime",
|
||
remainingPositions: parseInt(job["招聘人数"]) || 1,
|
||
applicationStatus: isExpired ? "expired" : "not_applied",
|
||
tags: job["职位标签"] || [],
|
||
deadline: `${deadlineParts[0]}-${deadlineParts[1].padStart(2, '0')}-${deadlineParts[2].padStart(2, '0')}`,
|
||
deadlineDate: deadlineDate,
|
||
isExpired: isExpired,
|
||
type: job["岗位相关标签"] || "专业相关岗位",
|
||
jobCategory: job["岗位相关标签"] || "专业相关岗位",
|
||
location: job["工作地点"],
|
||
education: job["学历要求"],
|
||
benefits: job["福利标签"] || [],
|
||
isRecommended: Math.random() > 0.7,
|
||
details: {
|
||
location: job["工作地点"],
|
||
experience: "1-3年",
|
||
education: job["学历要求"],
|
||
positions: job["招聘人数"],
|
||
description: job["职位描述"],
|
||
requirements: job["任职要求"] ? job["任职要求"].split(/\d+\.\s*/).filter(r => r.trim()) : [],
|
||
requirementsText: job["任职要求"],
|
||
benefits: job["福利标签"] || [],
|
||
companyInfo: job["公司介绍"],
|
||
companyImages: companyImagesMap[job["内推岗位名称"]] || []
|
||
}
|
||
};
|
||
})
|
||
.sort((a, b) => {
|
||
return b.deadlineDate - a.deadlineDate;
|
||
});
|
||
};
|
||
|
||
const transformedJobs = transformCompanyJobs(companyJobsNewData);
|
||
|
||
console.log('\n📋 转换后的岗位数据');
|
||
console.log(' 总岗位数:', transformedJobs.length);
|
||
|
||
// 查找SEO专员
|
||
const seoJob = transformedJobs.find(job => job.position === 'SEO专员');
|
||
|
||
console.log('\n🎯 SEO专员岗位数据:');
|
||
if (seoJob) {
|
||
console.log(' ✓ 找到SEO专员岗位');
|
||
console.log(' 岗位ID:', seoJob.id);
|
||
console.log(' 岗位名称:', seoJob.position);
|
||
console.log(' 公司介绍存在:', !!seoJob.details.companyInfo);
|
||
console.log(' 公司介绍长度:', seoJob.details.companyInfo?.length || 0);
|
||
console.log(' companyImages存在:', !!seoJob.details.companyImages);
|
||
console.log(' companyImages是数组:', Array.isArray(seoJob.details.companyImages));
|
||
console.log(' 图片数量:', seoJob.details.companyImages?.length || 0);
|
||
|
||
if (seoJob.details.companyImages && seoJob.details.companyImages.length > 0) {
|
||
console.log(' ✅ SEO专员有图片数据!');
|
||
console.log(' 第一张图片:', seoJob.details.companyImages[0]);
|
||
} else {
|
||
console.log(' ❌ SEO专员没有图片数据!');
|
||
}
|
||
|
||
console.log('\n 完整的details对象:');
|
||
console.log(JSON.stringify(seoJob.details, null, 2));
|
||
} else {
|
||
console.log(' ✗ 未找到SEO专员岗位');
|
||
}
|
||
|
||
// 统计有图片的岗位
|
||
const jobsWithImages = transformedJobs.filter(job =>
|
||
job.details.companyImages && job.details.companyImages.length > 0
|
||
);
|
||
|
||
console.log('\n📸 图片统计:');
|
||
console.log(' 有图片的岗位数:', jobsWithImages.length);
|
||
console.log(' 前10个有图片的岗位:');
|
||
jobsWithImages.slice(0, 10).forEach(job => {
|
||
console.log(` - ${job.position}: ${job.details.companyImages.length}张图片`);
|
||
});
|