429 lines
36 KiB
TypeScript
429 lines
36 KiB
TypeScript
/**
|
||
* 常量数据模块
|
||
* 包含表单标签数组、测试填写数据、UI组件库选择器配置、特殊标签修正配置等所有常量
|
||
*/
|
||
|
||
import type { FormLabelItem, UILibPickerConfig, ExperienceSectionConfig, ResumeData } from "./types"
|
||
|
||
// ============ 职位申请常用信息标签(中英文) ============
|
||
|
||
/**
|
||
* 职位申请表单常用信息标签数组
|
||
* 包含个人信息、联系方式、教育背景、求职意向等常见字段
|
||
*/
|
||
export const JOB_FORM_LABELS: FormLabelItem[] = [
|
||
// ---- 个人基本信息(主表) ----
|
||
{ key: "name", zh: ["姓名", "姓 名", "真实姓名", "名字"], en: ["Name", "Full Name", "Your Name", "Legal Name"], section: "main", resumeField: "name" },
|
||
{ key: "gender", zh: ["性别"], en: ["Gender", "Sex"], section: "main", resumeField: "" },
|
||
{ key: "birthday", zh: ["出生日期", "出生年月", "生日", "出生日期"], en: ["Date of Birth", "Birthday", "Birth Date", "DOB"], section: "main", resumeField: "" },
|
||
{ key: "idType", zh: ["证件类型"], en: ["ID Type", "Document Type"], section: "main", resumeField: "" },
|
||
{ key: "idNumber", zh: ["身份证号", "身份证", "证件号码", "证件号"], en: ["ID Number", "National ID", "ID Card Number"], section: "main", resumeField: "" },
|
||
{ key: "nationality", zh: ["国籍"], en: ["Nationality", "Country of Citizenship"], section: "main", resumeField: "" },
|
||
{ key: "ethnicity", zh: ["民族"], en: ["Ethnicity", "Race"], section: "main", resumeField: "" },
|
||
{ key: "maritalStatus", zh: ["婚姻状况", "婚姻"], en: ["Marital Status", "Marriage Status"], section: "main", resumeField: "" },
|
||
{ key: "hasChildren", zh: ["有无子女", "子女"], en: ["Children", "Has Children"], section: "main", resumeField: "" },
|
||
{ key: "politicalStatus", zh: ["政治面貌"], en: ["Political Status", "Political Affiliation"], section: "main", resumeField: "" },
|
||
{ key: "nativePlace", zh: ["籍贯", "户籍", "户口所在地"], en: ["Native Place", "Hometown", "Place of Origin"], section: "main", resumeField: "" },
|
||
{ key: "height", zh: ["身高", "身高(cm)"], en: ["Height"], section: "main", resumeField: "" },
|
||
{ key: "weight", zh: ["体重", "体重(kg)"], en: ["Weight"], section: "main", resumeField: "" },
|
||
{ key: "avatarUrl", zh: ["头像", "照片", "个人照片"], en: ["Avatar", "Photo", "Profile Photo"], section: "main", resumeField: "avatarUrl" },
|
||
{ key: "freshGraduate", zh: ["应届生", "应届生标识", "是否应届"], en: ["Fresh Graduate", "New Graduate", "Recent Graduate"], section: "main", resumeField: "" },
|
||
// ---- 联系方式(主表) ----
|
||
{ key: "phone", zh: ["手机号", "手机", "电话", "联系电话", "手机号码", "移动电话", "手机类型"], en: ["Phone", "Mobile", "Phone Number", "Cell Phone", "Telephone", "Contact Number"], section: "main", resumeField: "mobileNumber" },
|
||
{ key: "email", zh: ["邮箱", "电子邮箱", "邮件", "电子邮件"], en: ["Email", "E-mail", "Email Address"], section: "main", resumeField: "email" },
|
||
{ key: "address", zh: ["地址", "通讯地址", "联系地址", "现居住地", "家庭住址", "现住址"], en: ["Address", "Current Address", "Mailing Address", "Location", "Home Address"], section: "main", resumeField: "city" },
|
||
{ key: "zipCode", zh: ["邮编", "邮政编码"], en: ["Zip Code", "Postal Code", "ZIP"], section: "main", resumeField: "" },
|
||
{ key: "wechatNumber", zh: ["微信号", "微信", "微信账号"], en: ["WeChat", "WeChat ID", "WeChat Number"], section: "main", resumeField: "wechatNumber" },
|
||
{ key: "qq", zh: ["QQ", "QQ号", "QQ号码"], en: ["QQ", "QQ Number"], section: "main", resumeField: "" },
|
||
{ key: "emergencyContact", zh: ["紧急联系人", "紧急联系人姓名"], en: ["Emergency Contact", "Emergency Contact Name"], section: "main", resumeField: "" },
|
||
{ key: "emergencyPhone", zh: ["紧急联系方式", "紧急联系电话", "紧急联系人电话"], en: ["Emergency Phone", "Emergency Contact Number"], section: "main", resumeField: "" },
|
||
{ key: "portfolioUrl", zh: ["作品集", "作品链接", "个人作品", "作品集链接"], en: ["Portfolio", "Portfolio URL", "Portfolio Link", "Work Samples"], section: "main", resumeField: "portfolioUrl" },
|
||
// ---- 教育经历(数组) ----
|
||
{ key: "school", zh: ["学校", "学校名称", "毕业院校", "院校", "毕业学校"], en: ["School", "University", "College", "Institution", "School Name"], section: "education", resumeField: "school" },
|
||
{ key: "schoolLocation", zh: ["学校所在地", "学校所在城市"], en: ["School Location", "Campus Location"], section: "education", resumeField: "" },
|
||
{ key: "major", zh: ["专业", "专业名称", "所学专业", "主修课程"], en: ["Major", "Field of Study", "Specialization", "Program"], section: "education", resumeField: "major" },
|
||
{ key: "secondMajor", zh: ["第二专业", "辅修专业", "辅修"], en: ["Second Major", "Minor", "Double Major"], section: "education", resumeField: "" },
|
||
{ key: "degree", zh: ["学历", "学位", "最高学历", "最高学位"], en: ["Degree", "Education Level", "Qualification", "Education"], section: "education", resumeField: "degree" },
|
||
{ key: "studyType", zh: ["学习形式", "就读方式", "全日制/非全日制", "学习方式"], en: ["Study Type", "Study Mode", "Full-time/Part-time"], section: "education", resumeField: "studyType" },
|
||
{ key: "graduationDate", zh: ["毕业时间", "毕业日期", "毕业年份"], en: ["Graduation Date", "Graduation Year", "Expected Graduation"], section: "education", resumeField: "endDate" },
|
||
{ key: "eduPeriod", zh: ["就读时间", "就读期间", "起止时间"], en: ["Study Period", "Duration", "Period"], section: "education", resumeField: "startDate,endDate" },
|
||
{ key: "eduStartDate", zh: ["入学时间", "开始时间"], en: ["Start Date", "Enrollment Date", "From"], section: "education", resumeField: "startDate" },
|
||
{ key: "eduEndDate", zh: ["结束时间", "毕业时间"], en: ["End Date", "To", "Until"], section: "education", resumeField: "endDate" },
|
||
{ key: "eduDescription", zh: ["在校经历", "教育描述", "在校描述"], en: ["Education Description", "Academic Description"], section: "education", resumeField: "description" },
|
||
{ key: "gpa", zh: ["GPA", "绩点", "成绩", "平均分"], en: ["GPA", "Grade Point Average", "Academic Score"], section: "education", resumeField: "" },
|
||
{ key: "graduationThesis", zh: ["毕业论文", "毕业设计", "毕业论文/设计题目"], en: ["Thesis", "Graduation Thesis", "Dissertation"], section: "education", resumeField: "" },
|
||
// ---- 求职意向(主表) ----
|
||
{ key: "expectedSalary", zh: ["期望薪资", "期望月薪", "薪资要求", "期望薪酬", "薪酬", "薪资", "年薪", "月薪", "薪酬待遇", "期望年薪"], en: ["Expected Salary", "Desired Salary", "Salary Expectation", "Compensation"], section: "main", resumeField: "" },
|
||
{ key: "expectedPosition", zh: ["期望职位", "意向岗位", "应聘职位", "期望月薪/年薪"], en: ["Expected Position", "Desired Position", "Job Title", "Position Applied"], section: "main", resumeField: "targetPosition" },
|
||
{ key: "expectedCity", zh: ["期望城市", "工作城市", "意向城市", "期望工作地点", "期望工作地"], en: ["Preferred City", "Work Location", "Desired Location", "Preferred Location"], section: "main", resumeField: "city" },
|
||
{ key: "availableDate", zh: ["到岗时间", "入职时间", "可到岗日期"], en: ["Available Date", "Start Date", "Earliest Start Date", "Availability"], section: "main", resumeField: "" },
|
||
{ key: "workYears", zh: ["工作年限", "工作经验", "工作年限(年)", "期望工作地"], en: ["Work Experience", "Years of Experience", "Work Years"], section: "main", resumeField: "" },
|
||
{ key: "jobAcceptAdjust", zh: ["是否接受岗位调剂", "接受调剂", "服从调剂"], en: ["Accept Job Adjustment", "Open to Relocation", "Flexible Position"], section: "main", resumeField: "" },
|
||
{ key: "idCardNumber", zh: ["证件号", "证件号码"], en: ["ID Card Number", "Certificate Number"], section: "main", resumeField: "" },
|
||
// ---- 工作经历(数组) ----
|
||
{ key: "workCompany", zh: ["公司", "公司名称", "单位名称", "工作单位", "公司全称"], en: ["Company", "Company Name", "Employer", "Organization"], section: "work", resumeField: "companyName" },
|
||
{ key: "workCompanyShort", zh: ["公司简称"], en: ["Company Abbreviation", "Short Name"], section: "work", resumeField: "" },
|
||
{ key: "workCompanyScale", zh: ["公司规模"], en: ["Company Size", "Company Scale"], section: "work", resumeField: "" },
|
||
{ key: "workPosition", zh: ["职位", "职位名称", "岗位", "担任职务", "职位名称"], en: ["Job Title", "Position", "Title", "Role"], section: "work", resumeField: "position" },
|
||
{ key: "workPeriod", zh: ["起止时间", "在职时间", "就职时间"], en: ["Period", "Duration", "Employment Period"], section: "work", resumeField: "startDate,endDate" },
|
||
{ key: "workStartDate", zh: ["开始时间", "入职时间"], en: ["Start Date", "From"], section: "work", resumeField: "startDate" },
|
||
{ key: "workEndDate", zh: ["结束时间", "离职时间"], en: ["End Date", "To"], section: "work", resumeField: "endDate" },
|
||
{ key: "workDescription", zh: ["工作描述", "工作内容", "职责描述", "岗位职责", "职位描述"], en: ["Job Description", "Responsibilities", "Description", "Duties"], section: "work", resumeField: "description" },
|
||
// ---- 实习经历(数组) ----
|
||
{ key: "internCompany", zh: ["实习公司", "实习单位"], en: ["Intern Company", "Internship Company"], section: "internship", resumeField: "companyName" },
|
||
{ key: "internPosition", zh: ["实习职位", "实习岗位"], en: ["Intern Position", "Internship Role"], section: "internship", resumeField: "position" },
|
||
{ key: "internPeriod", zh: ["起止时间", "实习时间", "就职时间"], en: ["Period", "Duration", "Employment Period"], section: "internship", resumeField: "startDate,endDate" },
|
||
{ key: "internStartDate", zh: ["实习开始时间", "开始时间"], en: ["Internship Start Date", "Start Date", "From"], section: "internship", resumeField: "startDate" },
|
||
{ key: "internEndDate", zh: ["实习结束时间", "结束时间"], en: ["Internship End Date", "End Date", "To"], section: "internship", resumeField: "endDate" },
|
||
{ key: "internDescription", zh: ["实习描述", "实习内容","工作描述", "工作职责", "工作内容", "职责描述", "岗位职责", "职位描述"], en: ["Internship Description", "Intern Duties"], section: "internship", resumeField: "description" },
|
||
// ---- 项目经历(数组) ----
|
||
{ key: "projectName", zh: ["项目名称", "项目名", "项目", "项目名称"], en: ["Project Name", "Project", "Project Title"], section: "project", resumeField: "projectName" },
|
||
{ key: "projectCompany", zh: ["所属公司", "项目所属公司", "项目公司"], en: ["Project Company", "Company"], section: "project", resumeField: "companyName" },
|
||
{ key: "projectRole", zh: ["担任角色", "项目角色", "角色"], en: ["Role", "Project Role", "Your Role"], section: "project", resumeField: "role" },
|
||
{ key: "projectPeriod", zh: ["起止时间", "项目时间"], en: ["Period", "Duration", "Project Period"], section: "project", resumeField: "startDate,endDate" },
|
||
{ key: "projectStartDate", zh: ["项目开始时间", "开始时间"], en: ["Project Start Date", "Start Date", "From"], section: "project", resumeField: "startDate" },
|
||
{ key: "projectEndDate", zh: ["项目结束时间", "结束时间"], en: ["Project End Date", "End Date", "To"], section: "project", resumeField: "endDate" },
|
||
{ key: "projectDescription", zh: ["项目描述", "项目内容", "项目职责"], en: ["Project Description", "Project Details", "Project Responsibilities"], section: "project", resumeField: "description" },
|
||
// ---- 竞赛经历(数组) ----
|
||
{ key: "competitionName", zh: ["竞赛名称", "比赛名称", "竞赛"], en: ["Competition Name", "Contest Name", "Competition"], section: "competition", resumeField: "competitionName" },
|
||
{ key: "competitionAward", zh: ["获奖情况", "奖项", "获奖"], en: ["Award", "Prize", "Achievement"], section: "competition", resumeField: "award" },
|
||
{ key: "competitionDate", zh: ["获奖时间", "比赛时间"], en: ["Award Date", "Competition Date"], section: "competition", resumeField: "awardDate" },
|
||
{ key: "competitionDescription", zh: ["竞赛描述", "比赛描述"], en: ["Competition Description", "Contest Details"], section: "competition", resumeField: "description" },
|
||
// ---- 技能与证书(主表) ----
|
||
{ key: "skills", zh: ["技能", "专业技能", "技能特长", "专业特长"], en: ["Skills", "Technical Skills", "Competencies"], section: "main", resumeField: "skills" },
|
||
{ key: "language", zh: ["语言水平", "语言能力", "外语能力", "英语等级", "英语等级成绩", "英语水平", "外语水平", "语言考试"], en: ["Language Proficiency", "English Level", "Language Skills", "Foreign Language", "Language Level"], section: "main", resumeField: "" },
|
||
{ key: "certificate", zh: ["证书", "资格证书", "获得证书"], en: ["Certificate", "Certification", "License", "Credentials"], section: "main", resumeField: "certificates" },
|
||
// ---- 自我评价与附加信息(主表) ----
|
||
{ key: "selfIntro", zh: ["自我评价", "自我介绍", "个人简介", "个人总结", "自我描述"], en: ["Self Introduction", "About Me", "Summary", "Personal Statement", "Profile"], section: "main", resumeField: "summary" },
|
||
{ key: "hobby", zh: ["兴趣爱好", "爱好", "健身爱好", "个人爱好"], en: ["Hobbies", "Interests", "Hobbies & Interests"], section: "main", resumeField: "" },
|
||
{ key: "specialty", zh: ["特长", "个人特长"], en: ["Specialty", "Strengths", "Personal Strengths"], section: "main", resumeField: "" },
|
||
{ key: "rewardPunishment", zh: ["奖惩情况", "奖惩", "奖励情况"], en: ["Rewards & Punishments", "Awards & Disciplinary"], section: "main", resumeField: "" },
|
||
{ key: "academicWork", zh: ["学术专著", "学术著作"], en: ["Academic Works", "Publications"], section: "main", resumeField: "" },
|
||
{ key: "academicPaper", zh: ["学术论文", "论文发表"], en: ["Academic Papers", "Research Papers", "Thesis"], section: "main", resumeField: "" },
|
||
{ key: "patent", zh: ["专利发明", "专利", "发明专利"], en: ["Patents", "Inventions", "Patent"], section: "main", resumeField: "" },
|
||
{ key: "coverLetter", zh: ["求职信", "自荐信"], en: ["Cover Letter", "Application Letter"], section: "main", resumeField: "" },
|
||
{ key: "referral", zh: ["推荐人", "内推人", "推荐渠道", "渠道"], en: ["Referral", "Referred By", "How did you hear", "Source"], section: "main", resumeField: "" },
|
||
{ key: "agreement", zh: ["本人保证", "同意条款", "隐私协议", "声明"], en: ["Agreement", "I agree", "Terms", "Declaration", "Consent"], section: "main", resumeField: "" },
|
||
]
|
||
|
||
// ============ 测试数据 ============
|
||
|
||
/** 根据标签 key 生成的测试填写数据(中英文各一份),用于开发调试阶段 */
|
||
export const TEST_FILL_DATA: Record<string, { zh: string; en: string }> = {
|
||
name: { zh: "李华", en: "Hua Li" },
|
||
gender: { zh: "男", en: "Male" },
|
||
birthday: { zh: "2002-03-15", en: "2002-03-15" },
|
||
idType: { zh: "身份证", en: "ID Card" },
|
||
idNumber: { zh: "110101200203150011", en: "110101200203150011" },
|
||
nationality: { zh: "中国", en: "China" },
|
||
ethnicity: { zh: "汉族", en: "Han" },
|
||
maritalStatus: { zh: "未婚", en: "Single" },
|
||
hasChildren: { zh: "无", en: "No" },
|
||
politicalStatus: { zh: "共青团员", en: "Communist Youth League" },
|
||
nativePlace: { zh: "北京", en: "Beijing" },
|
||
height: { zh: "175", en: "175" },
|
||
weight: { zh: "70", en: "70" },
|
||
avatarUrl: { zh: "", en: "" },
|
||
freshGraduate: { zh: "是", en: "Yes" },
|
||
phone: { zh: "13800138000", en: "13800138000" },
|
||
email: { zh: "lihua@example.com", en: "lihua@example.com" },
|
||
address: { zh: "北京市海淀区中关村大街1号", en: "No.1 Zhongguancun Street, Haidian, Beijing" },
|
||
zipCode: { zh: "100080", en: "100080" },
|
||
wechatNumber: { zh: "lihua_wx", en: "lihua_wx" },
|
||
qq: { zh: "123456789", en: "123456789" },
|
||
emergencyContact: { zh: "李明", en: "Ming Li" },
|
||
emergencyPhone: { zh: "13900139000", en: "13900139000" },
|
||
portfolioUrl: { zh: "https://portfolio.example.com", en: "https://portfolio.example.com" },
|
||
school: { zh: "北京大学", en: "Peking University" },
|
||
schoolLocation: { zh: "北京", en: "Beijing" },
|
||
major: { zh: "计算机科学与技术", en: "Computer Science" },
|
||
secondMajor: { zh: "数学与应用数学", en: "Mathematics" },
|
||
degree: { zh: "硕士", en: "Master" },
|
||
studyType: { zh: "全日制", en: "Full-time" },
|
||
graduationDate: { zh: "2024-07-01", en: "2024-07-01" },
|
||
eduStartDate: { zh: "2020-09-01", en: "2020-09-01" },
|
||
eduEndDate: { zh: "2024-07-01", en: "2024-07-01" },
|
||
eduDescription: { zh: "主修计算机科学核心课程", en: "Majored in core CS courses" },
|
||
gpa: { zh: "3.8", en: "3.8" },
|
||
graduationThesis: { zh: "基于深度学习的文本分类研究", en: "Text Classification Based on Deep Learning" },
|
||
expectedSalary: { zh: "15000", en: "15000" },
|
||
expectedPosition: { zh: "前端开发工程师", en: "Frontend Developer" },
|
||
expectedCity: { zh: "北京", en: "Beijing" },
|
||
availableDate: { zh: "2024-08-01", en: "2024-08-01" },
|
||
workYears: { zh: "3", en: "3" },
|
||
jobAcceptAdjust: { zh: "是", en: "Yes" },
|
||
idCardNumber: { zh: "110101200203150011", en: "110101200203150011" },
|
||
workCompany: { zh: "字节跳动", en: "ByteDance" },
|
||
workCompanyShort: { zh: "字节", en: "ByteDance" },
|
||
workCompanyScale: { zh: "10000人以上", en: "10000+" },
|
||
workPosition: { zh: "前端开发工程师", en: "Frontend Developer" },
|
||
workStartDate: { zh: "2023-06-01", en: "2023-06-01" },
|
||
workEndDate: { zh: "2023-09-01", en: "2023-09-01" },
|
||
workDescription: { zh: "负责活动页面开发与性能优化", en: "Developed campaign pages and optimized performance" },
|
||
internCompany: { zh: "腾讯", en: "Tencent" },
|
||
internPosition: { zh: "前端实习生", en: "Frontend Intern" },
|
||
internStartDate: { zh: "2022-07-01", en: "2022-07-01" },
|
||
internEndDate: { zh: "2022-09-30", en: "2022-09-30" },
|
||
internDescription: { zh: "参与小程序开发", en: "Participated in mini-program development" },
|
||
projectName: { zh: "智能简历填写助手", en: "Smart Resume Filler" },
|
||
projectCompany: { zh: "字节跳动", en: "ByteDance" },
|
||
projectRole: { zh: "前端负责人", en: "Frontend Lead" },
|
||
projectStartDate: { zh: "2023-03-01", en: "2023-03-01" },
|
||
projectEndDate: { zh: "2023-06-01", en: "2023-06-01" },
|
||
projectDescription: { zh: "负责项目前端架构设计与开发", en: "Led frontend architecture design and development" },
|
||
competitionName: { zh: "ACM程序设计大赛", en: "ACM Programming Contest" },
|
||
competitionAward: { zh: "金奖", en: "Gold Award" },
|
||
competitionDate: { zh: "2023-07-01", en: "2023-07-01" },
|
||
competitionDescription:{ zh: "团队协作完成算法竞赛", en: "Team collaboration in algorithm competition" },
|
||
skills: { zh: "React, TypeScript, Node.js", en: "React, TypeScript, Node.js" },
|
||
language: { zh: "CET-6 550分", en: "CET-6 550" },
|
||
certificate: { zh: "软件设计师", en: "Software Designer Certificate" },
|
||
selfIntro: { zh: "热爱前端开发,有丰富的项目经验", en: "Passionate frontend developer with solid project experience" },
|
||
hobby: { zh: "篮球、游泳、阅读", en: "Basketball, Swimming, Reading" },
|
||
specialty: { zh: "全栈开发、算法竞赛", en: "Full-stack Development, Algorithm Competition" },
|
||
rewardPunishment: { zh: "校级优秀学生", en: "Outstanding Student Award" },
|
||
academicWork: { zh: "", en: "" },
|
||
academicPaper: { zh: "", en: "" },
|
||
patent: { zh: "", en: "" },
|
||
coverLetter: { zh: "您好,我对贵公司的岗位非常感兴趣", en: "Dear Hiring Manager, I am very interested in this position" },
|
||
referral: { zh: "学校招聘会", en: "Campus Job Fair" },
|
||
agreement: { zh: "同意", en: "I agree" },
|
||
}
|
||
|
||
// ============ 特殊标签 input 修正配置 ============
|
||
|
||
/**
|
||
* 特殊标签的 placeholder 关键词配置
|
||
* key: 标签的 key,placeholders: 该标签对应 input 的 placeholder 应包含的关键词
|
||
*/
|
||
export const SPECIAL_LABEL_PLACEHOLDERS: Record<string, string[]> = {
|
||
/** 证件号码:前面常有证件类型 select,findNearestInput 容易找到 select 的 input */
|
||
idNumber: ["证件号码", "证件号", "身份证号", "身份证", "ID Number", "ID Card"],
|
||
}
|
||
|
||
// ============ UI 组件库选择器类名数据 ============
|
||
|
||
/** 常用 PC 端 UI 组件库的各类选择器类名数据 */
|
||
export const UI_LIB_PICKER_CONFIGS: UILibPickerConfig[] = [
|
||
{ libName: "Element UI", dropdownClasses: ["el-select-dropdown", "el-date-picker", "el-picker-panel", "el-cascader-panel", "el-time-panel", "el-date-range-picker", "el-popper", "el-autocomplete-suggestion"], optionItemClasses: ["el-select-dropdown__item", "el-date-table td", "el-cascader-node", "el-time-spinner__item"], triggerClasses: ["el-select", "el-date-editor", "el-cascader", "el-time-select", "el-autocomplete"] },
|
||
{ libName: "Ant Design", dropdownClasses: ["ant-select-dropdown", "ant-picker-dropdown", "ant-cascader-dropdown", "ant-picker-panel", "ant-select-tree-dropdown", "ant-dropdown"], optionItemClasses: ["ant-select-item-option", "ant-picker-cell-inner", "ant-cascader-menu-item", "ant-select-tree-treenode"], triggerClasses: ["ant-select", "ant-picker", "ant-cascader", "ant-select-selector"] },
|
||
{ libName: "Arco Design", dropdownClasses: ["arco-select-popup", "arco-picker-container", "arco-trigger-popup", "arco-cascader-popup", "arco-datepicker-container"], optionItemClasses: ["arco-select-option", "arco-picker-cell-inner", "arco-cascader-option"], triggerClasses: ["arco-select", "arco-picker", "arco-cascader", "arco-select-view"] },
|
||
{ libName: "TDesign", dropdownClasses: ["t-select__dropdown", "t-date-picker__panel", "t-popup", "t-cascader__popup", "t-time-picker__panel"], optionItemClasses: ["t-select-option", "t-date-picker__cell-inner", "t-cascader__item"], triggerClasses: ["t-select", "t-date-picker", "t-cascader", "t-input__wrap"] },
|
||
{ libName: "Naive UI", dropdownClasses: ["n-base-select-menu", "n-date-panel", "n-cascader-menu", "n-time-picker-panel", "n-auto-complete-menu"], optionItemClasses: ["n-base-select-option", "n-date-panel-date", "n-cascader-option"], triggerClasses: ["n-select", "n-date-picker", "n-cascader", "n-auto-complete"] },
|
||
{ libName: "iView / View UI", dropdownClasses: ["ivu-select-dropdown", "ivu-date-picker-transfer", "ivu-cascader-transfer", "ivu-time-picker-transfer"], optionItemClasses: ["ivu-select-item", "ivu-date-picker-cells-cell", "ivu-cascader-menu-item"], triggerClasses: ["ivu-select", "ivu-date-picker", "ivu-cascader"] },
|
||
{ libName: "Vuetify", dropdownClasses: ["v-menu__content", "v-picker", "v-date-picker-table", "v-select-list", "v-autocomplete__content"], optionItemClasses: ["v-list-item", "v-date-picker-table__current", "v-btn--active"], triggerClasses: ["v-select", "v-text-field", "v-autocomplete", "v-input"] },
|
||
{ libName: "MUI", dropdownClasses: ["MuiPopover-root", "MuiMenu-paper", "MuiAutocomplete-popper", "MuiPickersPopper-root", "MuiPaper-root"], optionItemClasses: ["MuiMenuItem-root", "MuiAutocomplete-option", "MuiPickersDay-root"], triggerClasses: ["MuiSelect-select", "MuiAutocomplete-root", "MuiInputBase-root"] },
|
||
{ libName: "Semi Design", dropdownClasses: ["semi-select-option-list", "semi-datepicker-panel-container", "semi-cascader-option-lists", "semi-popover-wrapper"], optionItemClasses: ["semi-select-option", "semi-datepicker-day", "semi-cascader-option"], triggerClasses: ["semi-select", "semi-datepicker", "semi-cascader", "semi-input-wrapper"] },
|
||
]
|
||
|
||
// ============ 经历区块标题关键词配置 ============
|
||
|
||
/**
|
||
* 5大经历区块的标题关键词配置
|
||
* 用于在页面 DOM 中识别经历区块位置、统计已展开段数、查找添加按钮
|
||
*/
|
||
export const EXPERIENCE_SECTION_CONFIGS: ExperienceSectionConfig[] = [
|
||
{
|
||
section: "education",
|
||
zh: ["教育背景", "教育经历", "学历信息", "教育信息"],
|
||
en: ["Education", "Education Background", "Academic Background", "Education History"],
|
||
coreFieldKey: "school",
|
||
addButtonZh: ["添加", "新增", "添加教育", "添加教育经历", "新增教育经历", "+ 添加", "+ 新增"],
|
||
addButtonEn: ["Add", "Add Education", "Add More", "+ Add"],
|
||
},
|
||
{
|
||
section: "work",
|
||
zh: ["工作经历", "工作经验", "工作信息"],
|
||
en: ["Work Experience", "Employment History", "Work History", "Professional Experience"],
|
||
coreFieldKey: "workCompany",
|
||
addButtonZh: ["添加", "新增", "添加工作", "添加工作经历", "新增工作经历", "+ 添加", "+ 新增"],
|
||
addButtonEn: ["Add", "Add Work", "Add Experience", "Add More", "+ Add"],
|
||
},
|
||
{
|
||
section: "internship",
|
||
zh: ["实习经历", "实习经验", "实习信息"],
|
||
en: ["Internship", "Internship Experience", "Intern Experience"],
|
||
coreFieldKey: "internCompany",
|
||
addButtonZh: ["添加", "新增", "添加实习", "添加实习经历", "新增实习经历", "+ 添加", "+ 新增"],
|
||
addButtonEn: ["Add", "Add Internship", "Add More", "+ Add"],
|
||
},
|
||
{
|
||
section: "project",
|
||
zh: ["项目经历", "项目经验", "项目信息"],
|
||
en: ["Project", "Project Experience", "Projects"],
|
||
coreFieldKey: "projectName",
|
||
addButtonZh: ["添加", "新增", "添加项目", "添加项目经历", "新增项目经历", "+ 添加", "+ 新增"],
|
||
addButtonEn: ["Add", "Add Project", "Add More", "+ Add"],
|
||
},
|
||
{
|
||
section: "competition",
|
||
zh: ["竞赛经历", "获奖经历", "竞赛信息", "获奖情况"],
|
||
en: ["Competition", "Awards", "Competitions & Awards", "Contest Experience"],
|
||
coreFieldKey: "competitionName",
|
||
addButtonZh: ["添加", "新增", "添加竞赛", "添加竞赛经历", "新增竞赛经历", "+ 添加", "+ 新增"],
|
||
addButtonEn: ["Add", "Add Competition", "Add Award", "Add More", "+ Add"],
|
||
},
|
||
]
|
||
|
||
// ============ Mock 简历数据(模拟接口返回) ============
|
||
|
||
/**
|
||
* 模拟后端接口返回的完整简历数据
|
||
* 后续会替换为真实接口调用:javaApi.get<ResumeData>("/resume/detail")
|
||
*/
|
||
export function getMockResumeData(): ResumeData {
|
||
return {
|
||
main: {
|
||
avatarUrl: "",
|
||
name: "洪赫",
|
||
email: "1908796496@qq.com",
|
||
mobileNumber: "13713539828",
|
||
city: "",
|
||
wechatNumber: "13713539828",
|
||
portfolioUrl: "",
|
||
skills: ["数据分析", "模型训练", "模型测试", "算法部署", "图像识别", "目标识别", "目标检测", "Python"],
|
||
certificates: ["英语四级", "雅思6分"],
|
||
summary: "专业能力:掌握药学、医学相关理论知识,熟练使用Office办公软件(Word、Excel、PPT)进行数据整理和文档撰写,python熟练,了解数据库搭建和管理(sql),具备医学文献检索和数据分析能力。语言能力:英语四级,雅思6分,中英文书面与口头表达能力较强,能够进行跨部门沟通。普通话标准、流利。性格特质:工作态度认真,注重细节,有强烈的好奇心和学习能力,专业课排前20%,具备较强的逻辑分析能力,责任心强,团队合作意识强,能适应阶段性高强度工作。兴趣爱好:篮球、游戏、音乐等,参加院系篮球队、校院音乐节以及歌唱比赛并取得不错名次。",
|
||
},
|
||
education: [
|
||
{
|
||
id: "qLVFVDxh",
|
||
school: "香港理工大学",
|
||
major: "数据科学与分析",
|
||
degree: "硕士",
|
||
studyType: "全日制",
|
||
startDate: "2025.09",
|
||
endDate: "2026.12",
|
||
description: [
|
||
{ type: "text", content: "系统学习数据分析、统计建模、数据挖掘等核心课程,具备扎实的数据整理与逻辑分析能力" },
|
||
{ type: "text", content: "掌握数据库管理、医学文献检索工具使用方法,能够高效处理和分析大规模数据" },
|
||
],
|
||
},
|
||
{
|
||
id: "AntTOPmb",
|
||
school: "华南师范大学",
|
||
major: "人工智能",
|
||
degree: "本科",
|
||
studyType: "统招",
|
||
startDate: "2021.09",
|
||
endDate: "2025.07",
|
||
description: [
|
||
{ type: "text", content: "大一:高等数学、Python程序设计、面向对象程序设计、计算机体系结构、线性代数、离散数学等,培养严谨的逻辑思维能力" },
|
||
{ type: "text", content: "大二:Java、软件工程导论、概率论与数理统计、数据结构与算法、Web开发、数据库原理、操作系统等,具备数据管理与分析基础" },
|
||
{ type: "text", content: "大三:人工智能基础、计算机网络、计算机语言等,掌握数据挖掘与模式识别方法" },
|
||
{ type: "text", content: "熟练使用Office办公软件(Word、Excel、PPT)进行数据整理、报告撰写与汇报展示,注重细节与准确性" },
|
||
],
|
||
},
|
||
{
|
||
id: "AntTOPmj",
|
||
school: "华南师范大学2",
|
||
major: "人工智能",
|
||
degree: "本科",
|
||
studyType: "统招",
|
||
startDate: "2017.09",
|
||
endDate: "2021.07",
|
||
description: [
|
||
{ type: "text", content: "大一:高等数学、Python程序设计、面向对象程序设计、计算机体系结构、线性代数、离散数学等,培养严谨的逻辑思维能力" },
|
||
{ type: "text", content: "大二:Java、软件工程导论、概率论与数理统计、数据结构与算法、Web开发、数据库原理、操作系统等,具备数据管理与分析基础" },
|
||
{ type: "text", content: "大三:人工智能基础、计算机网络、计算机语言等,掌握数据挖掘与模式识别方法" },
|
||
{ type: "text", content: "熟练使用Office办公软件(Word、Excel、PPT)进行数据整理、报告撰写与汇报展示,注重细节与准确性" },
|
||
],
|
||
},
|
||
],
|
||
work: [],
|
||
internship: [
|
||
{
|
||
id: "EoNkjAF1",
|
||
companyName: "深圳乐动机器人科技有限公司4",
|
||
position: "机器人感知算法工程师",
|
||
startDate: "2024.05",
|
||
endDate: "2025.08",
|
||
description: [
|
||
{ type: "text", content: "4负责数据收集、分析、模型训练与测试、算法部署等全流程工作,注重数据准确性与细节管理;" },
|
||
{ type: "text", content: "参与割草机算法研发工作,包括分类、检测、分割、跟踪等模块,具备快速学习新技术领域的能力;" },
|
||
{ type: "text", content: "撰写技术文档与测试报告,进行跨部门沟通协作,确保项目按时交付并符合质量标准。" },
|
||
],
|
||
},
|
||
{
|
||
id: "cX5EGRDD",
|
||
companyName: "江西卓云深圳研发中心2",
|
||
position: "图像算法工程师",
|
||
startDate: "2020.12",
|
||
endDate: "2021.02",
|
||
description: [
|
||
{ type: "text", content: "2运用Python进行数据处理与分析,开发部署应用程序,具备较强的逻辑分析和数据整理能力;" },
|
||
{ type: "text", content: "独立完成项目全生命周期管理,包括数据收集、标注、模型训练、部署及性能调优,能应对重复性工作并保证准确性;" },
|
||
{ type: "text", content: "熟练掌握Office办公软件及数据库工具,具备文献检索与信息整理经验,工作态度认真负责。" },
|
||
],
|
||
},
|
||
{
|
||
id: "EoNkjAF2",
|
||
companyName: "深圳乐动机器人科技有限公司3",
|
||
position: "机器人感知算法工程师",
|
||
startDate: "2022.05",
|
||
endDate: "2023.08",
|
||
description: [
|
||
{ type: "text", content: "3负责数据收集、分析、模型训练与测试、算法部署等全流程工作,注重数据准确性与细节管理;" },
|
||
{ type: "text", content: "参与割草机算法研发工作,包括分类、检测、分割、跟踪等模块,具备快速学习新技术领域的能力;" },
|
||
{ type: "text", content: "撰写技术文档与测试报告,进行跨部门沟通协作,确保项目按时交付并符合质量标准。" },
|
||
],
|
||
},
|
||
{
|
||
id: "mX5EGRDA",
|
||
companyName: "江西卓云深圳研发中心1",
|
||
position: "图像算法工程师",
|
||
startDate: "2018.12",
|
||
endDate: "2019.02",
|
||
description: [
|
||
{ type: "text", content: "1运用Python进行数据处理与分析,开发部署应用程序,具备较强的逻辑分析和数据整理能力;" },
|
||
{ type: "text", content: "独立完成项目全生命周期管理,包括数据收集、标注、模型训练、部署及性能调优,能应对重复性工作并保证准确性;" },
|
||
{ type: "text", content: "熟练掌握Office办公软件及数据库工具,具备文献检索与信息整理经验,工作态度认真负责。" },
|
||
],
|
||
},
|
||
],
|
||
project: [
|
||
{
|
||
id: "q966EOx2",
|
||
companyName: "",
|
||
projectName: "微信小程序开发与测试",
|
||
role: "小程序工程师",
|
||
startDate: "2022.01",
|
||
endDate: "2023.01",
|
||
description: [
|
||
{ type: "text", content: "负责小程序功能模块的开发与测试,严格遵循开发规范和质量标准,确保系统稳定运行" },
|
||
{ type: "text", content: "参与需求分析与文档撰写工作,具备良好的书面表达能力和跨部门沟通协调能力" },
|
||
{ type: "text", content: "注重细节管理,对测试数据进行系统整理与分析,保证项目交付的准确性" },
|
||
],
|
||
},
|
||
{
|
||
id: "KVSEaywu",
|
||
companyName: "",
|
||
projectName: "多人游戏聊天网页开发",
|
||
role: "前端工程师",
|
||
startDate: "2022.08",
|
||
endDate: "2023.03",
|
||
description: [
|
||
{ type: "text", content: "负责网页功能开发与用户交互模块设计,具备快速学习新技术和解决问题的能力" },
|
||
{ type: "text", content: "熟练使用Office等办公软件进行项目文档管理和数据整理工作" },
|
||
{ type: "text", content: "具备团队合作精神,能够配合完成阶段性高强度工作任务" },
|
||
],
|
||
},
|
||
{
|
||
id: "KQtH64TE",
|
||
companyName: "",
|
||
projectName: "基于SEIR模型的疫情大数据追踪预测应用研究",
|
||
role: "工程师",
|
||
startDate: "2022.12",
|
||
endDate: "2023.08",
|
||
description: [
|
||
{ type: "text", content: "参与疫情数据监测与分析项目,运用数据模型进行风险评估和趋势预测" },
|
||
{ type: "text", content: "负责大量数据的收集、整理与分析工作,具备较强的逻辑分析能力和数据处理能力" },
|
||
{ type: "text", content: "撰写项目研究报告,具备文献检索和专业资料查阅能力,工作态度认真负责" },
|
||
{ type: "text", content: "对公共卫生安全监测工作有初步认知,理解数据监测在风险管理中的重要性" },
|
||
],
|
||
},
|
||
],
|
||
competition: [],
|
||
}
|
||
}
|