# CAD 插件可用性探活 API 接入文档

为了在队列执行前快速判断各 CAD（Creo、Revit、PDMS）插件是否在线、能否接收任务，从而减少无效的接口重试，特提供以下统一的探活（Health Check）API 说明。后端开发在接入调度队列前，可先通过本接口进行快速判活。

## 1. 统一接口规范

对所有 CAD 插件，推荐的探活接口标准如下，后端可统一做异常和状态处理：

- **典型接口路径**: `/api/health` 或 `/api/status`
- **请求方式**: `GET`
- **请求参数**: 无
- **请求头**: 无特殊要求
- **成功响应格式**:
  ```json
  {
    "status": "success", 
    "message": "[CAD软件名称] 插件在线就绪",
    "data": {
      "isBusy": false
    }
  }
  ```
  - `data.isBusy`: (Boolean) `false` 表示空闲，可以接受新任务；`true` 表示当前插件正在忙于处理其他任务（例如正在解析一个非常大的模型）。队列调度时，可以结合此字段进行等待、延迟派发或抛出忙碌异常。

- **异常表现**: 
  - 如果插件崩溃、未启动或网络断联，该接口通常会直接抛出 **连接超时 (Timeout)** 或 **HTTP 502/503/500/拒绝连接** 错误。
  - 队列调度进行预检查时，若捕获到任何网络层或 HTTP 非 2xx 异常，应即刻将当前节点判断为离线/不健康。

---

## 2. 各个 CAD 软件对接详情

各个 CAD 插件的基础地址和端口号不尽相同，后端组装对应 URL 发送请求测试连通性。

### 2.1. Creo Parametric
- **当前 Base URL**: `http://localhost:12345`  _(根据实际部署调整)_
- **完整探活请求**: `GET http://localhost:12345/api/health`

### 2.2. Revit
- **当前 Base URL**: `http://localhost:9000`  _(根据实际部署调整)_
- **完整探活请求**: `GET http://localhost:9000/api/health`

### 2.3. PDMS
- **当前 Base URL**: `http://localhost:9001`  _(根据实际部署调整)_
- **完整探活请求**: `GET http://localhost:9001/api/health`
