# 新增接口对接文档 > 来源:`默认模块.openapi.json` 与 `src/api/admin/kvmService.js` 对比 > 生成时间:2026-03-21 --- ## 一、新增接口总览 | # | 模块 | 接口路径 | 方法 | 说明 | 前端状态 | |---|------|---------|------|------|---------| | 1 | 快照管理 | `/api/v1/admin/server/host_service/point/snapshot/count` | GET | 获取快照数量与上限 | **新增** | | 2 | 快照管理 | `/api/v1/admin/server/host_service/point/snapshot/set_limit` | POST | 设置快照数量上限 | **新增** | | 3 | 备份管理 | `/api/v1/admin/server/host_service/point/backup/count` | GET | 获取备份数量与上限 | **新增** | | 4 | 备份管理 | `/api/v1/admin/server/host_service/point/backup/set_limit` | POST | 设置备份数量上限 | **新增** | | 5 | 用户组网 | `/api/v1/admins/service/host_service/point/networking/create` | POST | 创建用户组网 | **新增(全新模块)** | | 6 | 用户组网 | `/api/v1/admins/service/host_service/point/networking/assign` | POST | 为虚拟机分配组网IP | **新增(全新模块)** | | 7 | 用户组网 | `/api/v1/admins/service/host_service/point/networking/list` | GET | 获取组网列表 | **新增(全新模块)** | | 8 | 用户组网 | `/api/v1/admins/service/host_service/point/networking/detail` | GET | 获取组网详情 | **新增(全新模块)** | | 9 | 用户组网 | `/api/v1/admins/service/host_service/point/networking/delete` | DELETE | 删除组网 | **新增(全新模块)** | | 10 | 用户组网 | `/api/v1/admins/service/host_service/point/networking/remove_network` | POST | 删除组网下指定网络 | **新增(全新模块)** | > **注意**:用户组网(Networking)接口的URL前缀为 `/api/v1/admins/service/`(admins复数、service单数),与其他接口 `/api/v1/admin/server/` 不同。 --- ## 二、接口详细说明 ### 2.1 快照管理 - 新增接口 #### 2.1.1 获取快照数量与上限 - **路径**:`GET /api/v1/admin/server/host_service/point/snapshot/count` - **标签**:管理员-快照 - **请求参数**(Query): | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | service_id | integer | 是 | KVM服务ID | | vm_id | integer | 是 | 虚拟机ID | - **响应**: ```json { "code": 200, "data": { "vm_id": 1, "count": 3, "limit": 10 } } ``` | 字段 | 类型 | 说明 | |------|------|------| | vm_id | int64 | 虚拟机ID | | count | uint32 | 当前快照数量 | | limit | uint32 | 快照上限 | - **前端函数名**:`getSnapshotCount` --- #### 2.1.2 设置快照数量上限 - **路径**:`POST /api/v1/admin/server/host_service/point/snapshot/set_limit` - **标签**:管理员-快照 - **Content-Type**:`multipart/form-data` - **请求参数**(FormData): | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | service_id | integer | 是 | KVM服务ID | | vm_id | integer | 是 | 虚拟机ID | | limit | integer | 是 | 快照数量上限 | - **响应**: ```json { "code": 200, "data": { "vm_id": 1, "count": 3, "limit": 20 } } ``` - **前端函数名**:`setSnapshotLimit` --- ### 2.2 备份管理 - 新增接口 #### 2.2.1 获取备份数量与上限 - **路径**:`GET /api/v1/admin/server/host_service/point/backup/count` - **标签**:管理员-备份 - **请求参数**(Query): | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | service_id | integer | 是 | KVM服务ID | | vm_id | integer | 是 | 虚拟机ID | - **响应**: ```json { "code": 200, "data": { "vm_id": 1, "count": 2, "limit": 5 } } ``` | 字段 | 类型 | 说明 | |------|------|------| | vm_id | int64 | 虚拟机ID | | count | uint32 | 当前备份数量 | | limit | uint32 | 备份上限 | - **前端函数名**:`getBackupCount` --- #### 2.2.2 设置备份数量上限 - **路径**:`POST /api/v1/admin/server/host_service/point/backup/set_limit` - **标签**:管理员-备份 - **Content-Type**:`multipart/form-data` - **请求参数**(FormData): | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | service_id | integer | 是 | KVM服务ID | | vm_id | integer | 是 | 虚拟机ID | | limit | integer | 是 | 备份数量上限 | - **响应**: ```json { "code": 200, "data": { "vm_id": 1, "count": 2, "limit": 10 } } ``` - **前端函数名**:`setBackupLimit` --- ### 2.3 用户组网管理(全新模块 KVM-UserNetworking) > **URL 前缀注意**:此模块所有接口使用 `/api/v1/admins/service/` 前缀 #### 2.3.1 获取组网列表 - **路径**:`GET /api/v1/admins/service/host_service/point/networking/list` - **请求参数**(Query): | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | service_id | integer | 是 | KVM 服务 ID | | page | integer | 否 | 页码 | | count | integer | 否 | 每页数量 | | host_id | integer | 否 | 按宿主机 ID 筛选 | | user_id | integer | 否 | 按用户 ID 筛选 | | keyword | string | 否 | 关键词搜索 | - **响应**: ```json { "meta": { "count": 10 }, "data": [ { "id": 1, "name": "组网名称", "description": "描述", "user_id": 1, "host_id": 1, "bridge_name": "br0", "gateway": "192.168.1.1", "created_at": "2026-03-21T00:00:00Z", "updated_at": "2026-03-21T00:00:00Z" } ] } ``` - **前端函数名**:`getUserNetworkingList` --- #### 2.3.2 获取组网详情 - **路径**:`GET /api/v1/admins/service/host_service/point/networking/detail` - **请求参数**(Query): | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | service_id | integer | 是 | KVM 服务 ID | | networking_id | integer | 是 | 组网 ID | - **响应**: ```json { "data": { "id": 1, "name": "...", "..." }, "networks": [ { "network": {}, "vm_id": 1, "vm_name": "vm-1", "vm_status": "running" } ] } ``` - **前端函数名**:`getUserNetworkingDetail` --- #### 2.3.3 创建用户组网 - **路径**:`POST /api/v1/admins/service/host_service/point/networking/create` - **Content-Type**:`multipart/form-data` - **请求参数**(FormData): | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | service_id | integer | 是 | KVM 服务 ID | | name | string | 是 | 组网名称 | | description | string | 否 | 组网描述 | | user_id | integer | 是 | 用户 ID | | host_id | integer | 是 | 宿主机 ID | | bridge_name | string | 是 | 网桥名称 | | gateway | string | 是 | 网关地址 | - **响应**:返回 `UserNetworkingData` 对象 - **前端函数名**:`createUserNetworking` --- #### 2.3.4 为虚拟机分配组网 IP - **路径**:`POST /api/v1/admins/service/host_service/point/networking/assign` - **Content-Type**:`multipart/form-data` - **请求参数**(FormData): | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | service_id | integer | 是 | KVM 服务 ID | | networking_id | integer | 是 | 组网 ID | | vm_id | integer | 是 | 虚拟机 ID | | ip | string | 否 | 指定 IP,不传则自动分配 | - **响应**:返回 `networking`、`network`、`task` 三个对象 - **前端函数名**:`assignUserNetworking` --- #### 2.3.5 删除组网 - **路径**:`DELETE /api/v1/admins/service/host_service/point/networking/delete` - **请求参数**(Query): | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | service_id | integer | 是 | KVM 服务 ID | | networking_id | integer | 是 | 组网 ID | - **前端函数名**:`deleteUserNetworking` --- #### 2.3.6 删除组网下的指定网络 - **路径**:`POST /api/v1/admins/service/host_service/point/networking/remove_network` - **Content-Type**:`multipart/form-data` - **请求参数**(FormData): | 参数名 | 类型 | 必填 | 说明 | |--------|------|------|------| | service_id | integer | 是 | KVM 服务 ID | | networking_id | integer | 是 | 组网 ID | | network_id | integer | 是 | 网络 ID | | vm_id | integer | 是 | 虚拟机 ID(用于从 VM 中移除网络) | - **前端函数名**:`removeUserNetworkingNetwork` --- ## 三、数据模型 ### UserNetworkingData | 字段 | 类型 | 说明 | |------|------|------| | id | int64 | 组网ID | | name | string | 组网名称 | | description | string | 描述 | | user_id | int64 | 用户ID | | host_id | int64 | 宿主机ID | | bridge_name | string | 网桥名称 | | gateway | string | 网关地址 | | created_at | datetime | 创建时间 | | updated_at | datetime | 更新时间 | ### NetworkingNetworkItem | 字段 | 类型 | 说明 | |------|------|------| | network | Network | 网络对象 | | vm_id | int64 | 虚拟机ID | | vm_name | string | 虚拟机名称 | | vm_status | string | 虚拟机状态 | --- ## 四、已有接口(已对接,无需修改) 以下接口在 `kvmService.js` 中已存在,无需新增: - 主控服务管理:list / detail / create / update / delete(5个) - 宿主机组映射管理:list / sync / bind / update / generate_goods / delete(6个) - 远程宿主机组管理:list / detail / tree / optimal_host / create / update / delete(7个) - 宿主机管理:list / detail / metrics / add / update / delete(6个) - 镜像管理:list / detail / host_status / create / update / delete / reload / sync / reload_host / compare_host(10个) - 网络管理:list / detail / create / update / delete(5个) - 数据卷管理:list / detail / create / resize / mount / unmount / transfer / delete(8个) - 虚拟机管理:list / detail / status / metrics / create / update / rebuild / refactor / update_traffic / start / stop / reboot / suspend / resume / rescue / exit_rescue / delete(17个) - 安全组管理:list / detail / create / update / sync / bind / unbind / delete / enable_whitelist / disable_whitelist / create_rule / update_rule / delete_rule / apply / set_shared(15个) - VNC节点管理:list / vm_vnc / add / test / update / delete(6个) - 快照管理:list / progress / create / restore / delete(5个) - 备份管理:list / progress / create / restore / delete(5个) **共计已对接 95 个接口,新增 10 个接口待对接。**