diff --git a/CAD_API_集成文档.md b/CAD_API_集成文档.md index 00dce32..5d08da8 100644 --- a/CAD_API_集成文档.md +++ b/CAD_API_集成文档.md @@ -10,6 +10,24 @@ - **Base URL**: `http://localhost:12345` - **端口**: `12345` +### 1.0. 插件可用性探活 API (Health Check) +- **接口路径**: `/api/health` (或 `/api/status`) +- **请求方式**: `GET` +- **基础描述**: 用于队列执行前快速判活,检测 Creo 插件是否正常启动并可以接收任务,减少无效重试。 +- **接入说明**: + - **请求参数**: 无 + - **响应格式**: + ```json + { + "status": "success", + "message": "Creo 插件在线就绪", + "data": { + "isBusy": false // 是否正忙于处理其他任务 + } + } + ``` + - **异常响应**: 如插件未启动、断联或崩溃,通常表现为连接超时或 HTTP 50x 错误。 + ### 1.1. 打开模型 API - **接口路径**: `/api/model/open` - **请求方式**: `POST` @@ -81,6 +99,24 @@ - **Base URL**: `http://localhost:9000` - **端口**: `9000` +### 2.0. 插件可用性探活 API (Health Check) +- **接口路径**: `/api/health` (或 `/api/status`) +- **请求方式**: `GET` +- **基础描述**: 用于队列执行前快速判活,检测 Revit 插件是否正常启动并可以接收任务,减少无效重试。 +- **接入说明**: + - **请求参数**: 无 + - **响应格式**: + ```json + { + "status": "success", + "message": "Revit 插件在线就绪", + "data": { + "isBusy": false + } + } + ``` + - **异常响应**: 如插件未启动、断联或崩溃,通常表现为连接超时或 HTTP 50x 错误。 + ### 2.1. 打开模型 API - **接口路径**: `/api/open` - **请求方式**: `POST` @@ -131,6 +167,24 @@ - **Base URL**: `http://localhost:9001` - **端口**: `9001` +### 3.0. 插件可用性探活 API (Health Check) +- **接口路径**: `/api/health` (或 `/api/status`) +- **请求方式**: `GET` +- **基础描述**: 用于队列执行前快速判活,检测 PDMS 插件是否正常启动并可以接收任务,减少无效重试。 +- **接入说明**: + - **请求参数**: 无 + - **响应格式**: + ```json + { + "status": "success", + "message": "PDMS 插件在线就绪", + "data": { + "isBusy": false + } + } + ``` + - **异常响应**: 如插件未启动、断联或崩溃,通常表现为连接超时或 HTTP 50x 错误。 + ### 3.1. 打开模型 API - **接口路径**: `/api/project/open` (打开工程) / `/api/mdb/open` (打开 MDB 数据库) - **请求方式**: `POST` diff --git a/CAD插件探活API文档.md b/CAD插件探活API文档.md new file mode 100644 index 0000000..7e9e5ac --- /dev/null +++ b/CAD插件探活API文档.md @@ -0,0 +1,45 @@ +# 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` diff --git a/src/components/pages/BatchJobManager.vue b/src/components/pages/BatchJobManager.vue index 0609116..6378ae9 100644 --- a/src/components/pages/BatchJobManager.vue +++ b/src/components/pages/BatchJobManager.vue @@ -159,7 +159,7 @@