# 职业图谱功能接口说明 ## 📋 目录 - [一、职业路径相关接口](#一职业路径相关接口) - [二、职业技能相关接口](#二职业技能相关接口) - [三、职业推荐相关接口](#三职业推荐相关接口) - [四、接口使用场景](#四接口使用场景) --- ## 一、职业路径相关接口 ### 1. `getJobPathPage` - 根据职业名称获取路径列表 - **接口路径**: `/jobPath/getJobPathPage` - **请求方法**: `GET` - **接口类型**: `zytp` - **参数**: - `jobName` (可选): 职业名称,用于搜索 - `pageNo`: 页码 - `pageSize`: 每页数量 - **返回数据**: ```json { "code": 0, "data": { "list": [ { "id": 1, "startJobId": 1, "startJob": "AI产品经理", "endJobId": 1, "endJob": "推荐算法", "jobOrder": "AI产品经理,AI训练师,图像识别,导航算法,推荐算法", "jobCount": 5 } ], "total": 16 } } ``` - **使用场景**: - ✅ **CareerPath.vue**: 获取目标职业选项列表(下拉选择器) - ✅ **CareerRecommend.vue**: 通过 `jobName` 查询获取 `jobId`(当缺少 jobId 时) - ✅ **CareerPath.vue**: 查询时如果没有 jobPathId,通过 jobName 查找 --- ### 2. ``getJobPathById`- 根据职业路径ID获取详情 - **接口路径**: `/jobPath/getJobPathById` - **请求方法**: `GET` - **接口类型**: `zytp` - **参数**: - `jobPathId`: 职业路径ID - **返回数据**: ```json { "data": [ { "name": "职位名称", "skillNameList": "技能1,技能2,技能3" } ] } ``` - **使用场景**: - ✅ **CareerPath.vue**: 获取职业路径的详细信息(起点、中间步骤、终点及每个职位的技能列表) - 用于显示完整的职业发展路径时间线 --- ### 3. `getJobPathNum` - 获取职业路径数量 - **接口路径**: `/jobPath/getJobPathNum` - **请求方法**: `GET` - **接口类型**: `zytp` - **参数**: 无 - **返回数据**: ```json { "data": 16 // 路径总数 } ``` - **使用场景**: - ✅ **CareerPath.vue**: 显示"系统已收录 X 条职业路径" --- ## 二、职业技能相关接口 ### 4. `getJobSkillDetail` - 获取职位技能详情 - **接口路径**: `/jobSkillDet/getJobSkillDet` - **请求方法**: `GET` - **接口类型**: `zytp` - **参数**: - `jobId` (必需): 职位ID - `jobName` (可选): 职位名称 - **返回数据**: ```json { "data": [ { "skillName": "技能名称", "skillScore": "技能分数" } ] } ``` - **使用场景**: - ✅ **career-planning.vue**: 点击推荐职位卡片时,获取该职位的技能详情(用于技能详情弹窗 `SkillDetailPopup`) - **调用位置**: `handleJobCardClick` 函数中 --- ### 5. `getJobPathSkill` - 获取职业路径技能(已隐藏,暂未使用) - **接口路径**: `/jobSkillDet/getJobPathSkill` - **请求方法**: `POST` - **接口类型**: `zytp` - **参数**: - `pathId`: 路径ID - `currentJobName`: 当前职位名称 - **返回数据**: `List` (包含技能分数、类型等详细信息) - **使用场景**: - ❌ 暂未在代码中使用 - 💡 **潜在使用场景**: 在 `CareerPath.vue` 中,如果用户点击路径中的某个职位,需要查看该职位在路径中的详细技能信息(包含技能分数、类型等)时,可以使用此接口 - **当前状态**: 接口已注释隐藏,如需使用请取消注释 --- ## 三、职业推荐相关接口 ### 8. `recommendJob` - 推荐职位 - **接口路径**: `/job/recommendJobByJobName` - **请求方法**: `GET` - **接口类型**: `zytp` - **参数**: - `jobName` (必需): 当前职位名称(从缓存中获取),通过 URL 参数传递,格式:`/job/recommendJobByJobName?jobName=职位名称` - **返回数据**: ```json { "data": [ { "jobId": 123, "jobName": "推荐职位名称", "skillList": [ { "skillName": "技能名称" } ] } ] } ``` - **使用场景**: - ✅ **CareerRecommend.vue**: 根据当前职位名称(从缓存中获取),获取相似推荐职位列表(显示在"相似推荐职位"区域) --- ## 四、接口使用场景 ### 📍 页面结构 ``` career-planning.vue (主页面) ├── Tab 0: 职业推荐 (CareerRecommend.vue) ├── Tab 1: 职业路径 (CareerPath.vue) └── Tab 2: 技能发展 (SkillDevelopment.vue) ``` ### 📍 职业推荐 Tab (CareerRecommend.vue) 1. **进入页面时**: - `getJobSkillDetail` - 获取当前职位的技能标签(需要 `jobId`,如果没有 `jobId` 则跳过) - `recommendJob` - 获取相似推荐职位(需要 `jobId`) 2. **点击职位卡片时**: - `getJobSkillDetail` - 获取该职位的技能详情(显示在技能详情弹窗中) **注意**: `getJobPathPage` 接口**只在职业路径流程中使用**,不在职业推荐流程中使用。 ### 📍 职业路径 Tab (CareerPath.vue) 1. **进入页面时**: - `getJobPathPage` - 获取所有职业路径列表(填充目标职业下拉选择器) - `getJobPathNum` - 获取职业路径总数(显示"系统已收录 X 条职业路径") 2. **选择目标职业并点击查询时**: - `getJobPathPage` - 如果没有 `jobPathId`,通过 `jobName` 查找 - `getJobPathDetail` (实际: `getJobPathById`) - 获取职业路径详情(显示完整路径时间线) ### 📍 技能发展 Tab (SkillDevelopment.vue) 1. **进入页面时**: - 暂无接口调用 --- ## 🔑 关键接口调用流程 ### 流程1: 获取当前职位技能 ``` CareerRecommend.vue └── getJobSkillDetail(jobId, jobName) → 获取技能列表 (如果没有 jobId,则跳过获取技能) ``` ### 流程2: 查询职业路径 ``` CareerPath.vue ├── getJobPathPage() → 获取路径列表(填充下拉选择器) ├── 用户选择目标职业 └── getJobPathById(jobPathId) → 获取路径详情(显示时间线) ``` ### 流程3: 获取推荐职位 ``` CareerRecommend.vue └── recommendJob(jobId) → 获取相似推荐职位列表 ``` --- ## ⚠️ 注意事项 1. **接口返回码**: - `code: 0` 和 `code: 200` 都表示成功 - 已在 `request.js` 中处理 2. **参数要求**: - `getJobSkillDetail` 必须提供 `jobId`,如果没有 `jobId` 则跳过获取技能 - `getJobPathPage` **只在职业路径流程中使用**,不在职业推荐流程中使用 3. **数据格式**: - `getJobPathPage` 返回的 `list` 在 `response.data.list` 中 - `getJobPathById` 返回的详情在 `response.data` 中(数组格式) 4. **接口使用范围**: - `getJobPathPage` **只在职业路径流程(CareerPath.vue)中使用** - 职业推荐流程(CareerRecommend.vue)**不使用** `getJobPathPage` 接口 5. **接口前缀**: - 所有 `zytp` 类型的接口使用: `http://ks.zhaopinzao8dian.com/api/ks_zytp/admin-api/zytp`