import request from "@/utils/request"; import { mockData } from "@/data/mockData"; // 获取企业内推岗位页面聚合数据 export async function getCompanyJobsPageData(params) { // 使用mock数据 return Promise.resolve({ success: true, data: { jobs: { list: mockData.companyJobs.companyPositions || [], hasMore: false, total: mockData.companyJobs.companyPositions?.length || 0 }, interviews: { list: mockData.companyJobs.interviewStatus || [], hasMore: false, total: mockData.companyJobs.interviewStatus?.length || 0 } } }); } // 获取企业内推岗位 export async function getJobsList(params) { // 使用mock数据 const allJobs = mockData.companyJobs.companyPositions || []; const page = params.page || 1; const pageSize = params.pageSize || 10; const startIndex = (page - 1) * pageSize; const endIndex = startIndex + pageSize; const pageJobs = allJobs.slice(startIndex, endIndex); return Promise.resolve({ success: true, data: pageJobs, total: allJobs.length, page: page, pageSize: pageSize }); } // 获取企业内推岗位详情 export async function getJobsDetail(id) { // 使用mock数据 const allJobs = mockData.companyJobs.companyPositions || []; const job = allJobs.find(job => job.id === id); if (job) { return Promise.resolve({ success: true, data: job }); } else { return Promise.resolve({ success: false, message: "岗位不存在" }); } } // 获取企业内推岗位面试 export async function getInterviewsList(params) { // 使用mock数据 const allInterviews = mockData.companyJobs.interviewStatus || []; const page = params.page || 1; const pageSize = params.pageSize || 10; const startIndex = (page - 1) * pageSize; const endIndex = startIndex + pageSize; const pageInterviews = allInterviews.slice(startIndex, endIndex); return Promise.resolve({ success: true, data: pageInterviews, total: allInterviews.length, page: page, pageSize: pageSize }); } // 获取简历列表 export async function getResumesList(params) { try { // 获取岗位与面试题页面的数据 const { getMockPageData } = await import("@/mocks/resumeInterviewMock"); const pageData = getMockPageData(); // 收集所有行业的所有简历模板 const allResumeTemplates = []; if (pageData.industries && pageData.resumeTemplates) { pageData.industries.forEach(industry => { const templates = pageData.resumeTemplates[industry.name] || []; templates.forEach(template => { allResumeTemplates.push({ id: `template_${industry.id}_${template.position}`, title: `${template.position}简历`, // 使用岗位名称作为简历标题 position: template.position, industry: industry.name, level: template.level || "初级", skills: template.studentInfo?.core_skills || [], template: template }); }); }); } // 分页处理 const page = params.page || 1; const pageSize = params.pageSize || 10; const startIndex = (page - 1) * pageSize; const endIndex = startIndex + pageSize; const pageResumes = allResumeTemplates.slice(startIndex, endIndex); return Promise.resolve({ success: true, data: pageResumes, total: allResumeTemplates.length, page: page, pageSize: pageSize }); } catch (error) { console.error('获取简历列表失败:', error); // 如果获取失败,返回空列表 return Promise.resolve({ success: true, data: [], total: 0, page: 1, pageSize: 10 }); } } // 获取简历详情 export async function getResumesDetail(id) { return request({ url: `/api/resumes/${id}`, method: "GET", }); } // 投递简历 export async function submitResume(params) { // 模拟投递请求 return new Promise((resolve) => { setTimeout(() => { resolve({ success: true, message: "投递成功", data: { applicationId: Date.now(), // 模拟申请ID submittedAt: new Date().toISOString(), status: "submitted" } }); }, 800); // 模拟网络延迟 }); }