merge: 合并 CareerMap 分支到 main
This commit is contained in:
237
docs/职业图谱接口说明.md
Normal file
237
docs/职业图谱接口说明.md
Normal file
@@ -0,0 +1,237 @@
|
||||
# 职业图谱功能接口说明
|
||||
|
||||
## 📋 目录
|
||||
- [一、职业路径相关接口](#一职业路径相关接口)
|
||||
- [二、职业技能相关接口](#二职业技能相关接口)
|
||||
- [三、职业推荐相关接口](#三职业推荐相关接口)
|
||||
- [四、接口使用场景](#四接口使用场景)
|
||||
|
||||
---
|
||||
|
||||
## 一、职业路径相关接口
|
||||
|
||||
### 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<JobSkillDetVO>` (包含技能分数、类型等详细信息)
|
||||
- **使用场景**:
|
||||
- ❌ 暂未在代码中使用
|
||||
- 💡 **潜在使用场景**: 在 `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`
|
||||
|
||||
Reference in New Issue
Block a user