execute_parse_task_api_doc.md 4.6 KB

执行解析任务 API 接口说明

1. 接口基本信息

  • 接口路径/api/data_parse/execute_parse_task
  • 请求方法POST
  • 请求类型application/json

2. 输入参数说明

参数名 类型 是否必填 说明
task_type string 任务类型。可选值:名片简历新任命招聘杂项
data array 任务数据列表。每种任务类型的数据结构不同,见下文
publish_time string 否(新任命必填) 发布时间,仅新任命任务需要
process_type string 杂项任务时的处理类型,默认为table
id int 解析任务ID(所有任务都必须传递,用于唯一标识任务)

注意: id 字段为所有任务类型必填。

2.1 data 字段结构

  • 名片:图片文件的MinIO路径或Base64字符串等(具体由后端约定)
  • 简历:简历文件的MinIO路径或Base64字符串等
  • 新任命:Markdown文本内容数组
  • 招聘:招聘数据对象数组
  • 杂项:图片或表格等文件的MinIO路径或Base64字符串等

3. 请求示例

3.1 名片任务

{
  "task_type": "名片",
  "data": [
    "minio/path/to/card1.jpg",
    "minio/path/to/card2.jpg"
  ],
  "id": 123
}

3.2 简历任务

{
  "task_type": "简历",
  "data": [
    "minio/path/to/resume1.pdf",
    "minio/path/to/resume2.pdf"
  ],
  "id": 124
}

3.3 新任命任务

{
  "task_type": "新任命",
  "data": [
    "# 张三\n\n职位:总经理\n公司:XX酒店",
    "# 李四\n\n职位:市场总监\n公司:YY酒店"
  ],
  "publish_time": "2025-01-15",
  "id": 125
}

3.4 招聘任务

{
  "task_type": "招聘",
  "data": [
    {"name": "王五", "position": "销售经理"},
    {"name": "赵六", "position": "前台主管"}
  ],
  "id": 126
}

3.5 杂项任务

{
  "task_type": "杂项",
  "data": [
    "minio/path/to/image1.png",
    "minio/path/to/image2.png"
  ],
  "process_type": "table",
  "id": 127
}

4. 前端调用样例代码(JavaScript/axios)

import axios from 'axios';

async function executeParseTask() {
  const payload = {
    task_type: '名片',
    data: ['minio/path/to/card1.jpg', 'minio/path/to/card2.jpg'],
    id: 123
  };
  try {
    const response = await axios.post('/api/data_parse/execute_parse_task', payload);
    if (response.data.success) {
      console.log('解析成功:', response.data.data);
    } else {
      console.error('解析失败:', response.data.message);
    }
  } catch (error) {
    console.error('请求异常:', error);
  }
}

5. 输出结果说明

  • success:布尔值,表示是否处理成功
  • message:字符串,处理结果说明
  • data:处理结果数据,结构依赖于任务类型

5.1 返回示例(成功)

{
  "success": true,
  "message": "批量名片解析成功",
  "data": {
    "summary": {
      "total_count": 2,
      "success_count": 2,
      "failed_count": 0
    },
    "results": [
      {"name": "张三", "mobile": "13800138000", ...},
      {"name": "李四", "mobile": "13900139000", ...}
    ]
  }
}

5.2 返回示例(部分成功)

{
  "success": true,
  "message": "部分数据处理失败",
  "data": {
    "summary": {
      "total_count": 2,
      "success_count": 1,
      "failed_count": 1
    },
    "results": [
      {"name": "张三", "mobile": "13800138000", ...},
      {"error": "文件格式不支持"}
    ]
  }
}

5.3 返回示例(失败)

{
  "success": false,
  "message": "task_type参数不能为空",
  "data": null
}

6. 状态码说明

状态码 说明
200 处理成功
206 部分数据处理成功
400 请求参数错误
500 服务器内部错误/处理失败

7. 备注

  • task_type 必须为后端支持的类型,否则会返回 400 错误。
  • data 字段结构需与任务类型匹配。
  • publish_time 仅在 新任命 任务时必填。
  • 返回的 data 字段结构会根据任务类型和处理结果有所不同。
  • id 字段为所有任务类型必填,用于唯一标识和更新任务状态。