Przeglądaj źródła

refactor(docs): improve formatting and clarity in PTZ documentation

- Enhanced the formatting of the HIKVISION ISAPI PTZ documentation for better readability and consistency.
- Added spacing and improved table structures to clarify parameters and descriptions.
- Updated the PTZ control section to include clearer instructions and examples, ensuring users can easily understand the functionality.
- These changes aim to provide a more professional and user-friendly documentation experience for PTZ control features.
yb 1 tydzień temu
rodzic
commit
5a136f0f78
2 zmienionych plików z 194 dodań i 188 usunięć
  1. 167 167
      docs/api_torna/export-1767780590760.md
  2. 27 21
      docs/cctv/HIKVISION-ISAPI-PTZ.md

+ 167 - 167
docs/api_torna/export-1767780590760.md

@@ -11,8 +11,8 @@ MVP API 接口:
 
 后台 PTZ 接口(可选):
 
-- POST /camera/{id}/ptz/start 开始PTZ控制
-- POST /camera/{id}/ptz/stop 停止PTZ控制
+- POST /camera/{id}/ptz/start 开始 PTZ 控制
+- POST /camera/{id}/ptz/stop 停止 PTZ 控制
 
 ### 获取摄像头列表
 
@@ -30,9 +30,9 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 ##### Query Parameter
 
-| 名称      | 类型   | 必填 | 最大长度 | 描述           | 示例值      |
-| --------- | ------ | ---- | -------- | -------------- | ----------- |
-| machineId | string | 否   | -        | 机器ID(可选) | machine_001 |
+| 名称      | 类型   | 必填 | 最大长度 | 描述            | 示例值      |
+| --------- | ------ | ---- | -------- | --------------- | ----------- |
+| machineId | string | 否   | -        | 机器 ID(可选) | machine_001 |
 
 #### 响应参数
 
@@ -41,21 +41,21 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | code | Integer | 否 | - | 响应码 | 200 |
 | message | String | 否 | - | 响应消息 | 操作成功 |
 | data | array | 否 |  | 响应数据 (ActualType: List) |  |
-| └ cameraId | String | 否 | - | 摄像头ID | cam_001 |
+| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
 | └ name | String | 否 | - | 摄像头名称 | 主摄像头 |
-| └ machineId | String | 否 | - | 所属机器ID | machine_001 |
+| └ machineId | String | 否 | - | 所属机器 ID | machine_001 |
 | └ status | String | 否 | - | 摄像头状态: ONLINE, OFFLINE | ONLINE |
 | └ capability | String | 否 | - | 摄像头能力: switch_only, ptz_enabled | ptz_enabled |
-| └ ptzSupported | Boolean | 否 | - | 是否支持PTZ | true |
+| └ ptzSupported | Boolean | 否 | - | 是否支持 PTZ | true |
 | └ channels | List<ChannelDTO> | 否 |  | 通道列表 (ActualType: ChannelDTO) |  |
-| └ channelId | String | 否 | - | 通道ID | ch_001 |
+| └ channelId | String | 否 | - | 通道 ID | ch_001 |
 | └ name | String | 否 | - | 通道名称 | 主通道 |
-| └ rtspUrl | String | 否 | - | RTSP地址 | rtsp://192.168.1.100:554/stream1 |
+| └ rtspUrl | String | 否 | - | RTSP 地址 | rtsp://192.168.1.100:554/stream1 |
 | └ defaultView | Boolean | 否 | - | 是否默认视角 | true |
 | └ status | String | 否 | - | 通道状态: ONLINE, OFFLINE | ONLINE |
-| └ cameraId | String | 否 | - | 所属摄像头ID | cam_001 |
+| └ cameraId | String | 否 | - | 所属摄像头 ID | cam_001 |
 | timestamp | Long | 否 | - | 时间戳 | 1703145600000 |
-| traceId | String | 否 | - | 请求追踪ID | trace-123456 |
+| traceId | String | 否 | - | 请求追踪 ID | trace-123456 |
 
 #### 响应示例
 
@@ -104,11 +104,11 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
-#### Path参数
+#### Path 参数
 
-| 名称     | 必填 | 描述     | 示例值     |
-| -------- | ---- | -------- | ---------- |
-| cameraId | 是   | 摄像头ID | camera_001 |
+| 名称     | 必填 | 描述      | 示例值     |
+| -------- | ---- | --------- | ---------- |
+| cameraId | 是   | 摄像头 ID | camera_001 |
 
 #### 请求参数
 
@@ -119,21 +119,21 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | code | Integer | 否 | - | 响应码 | 200 |
 | message | String | 否 | - | 响应消息 | 操作成功 |
 | data | object | 否 |  | 响应数据 (ActualType: CameraDTO) |  |
-| └ cameraId | String | 否 | - | 摄像头ID | cam_001 |
+| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
 | └ name | String | 否 | - | 摄像头名称 | 主摄像头 |
-| └ machineId | String | 否 | - | 所属机器ID | machine_001 |
+| └ machineId | String | 否 | - | 所属机器 ID | machine_001 |
 | └ status | String | 否 | - | 摄像头状态: ONLINE, OFFLINE | ONLINE |
 | └ capability | String | 否 | - | 摄像头能力: switch_only, ptz_enabled | ptz_enabled |
-| └ ptzSupported | Boolean | 否 | - | 是否支持PTZ | true |
+| └ ptzSupported | Boolean | 否 | - | 是否支持 PTZ | true |
 | └ channels | List<ChannelDTO> | 否 |  | 通道列表 (ActualType: ChannelDTO) |  |
-| └ channelId | String | 否 | - | 通道ID | ch_001 |
+| └ channelId | String | 否 | - | 通道 ID | ch_001 |
 | └ name | String | 否 | - | 通道名称 | 主通道 |
-| └ rtspUrl | String | 否 | - | RTSP地址 | rtsp://192.168.1.100:554/stream1 |
+| └ rtspUrl | String | 否 | - | RTSP 地址 | rtsp://192.168.1.100:554/stream1 |
 | └ defaultView | Boolean | 否 | - | 是否默认视角 | true |
 | └ status | String | 否 | - | 通道状态: ONLINE, OFFLINE | ONLINE |
-| └ cameraId | String | 否 | - | 所属摄像头ID | cam_001 |
+| └ cameraId | String | 否 | - | 所属摄像头 ID | cam_001 |
 | timestamp | Long | 否 | - | 时间戳 | 1703145600000 |
-| traceId | String | 否 | - | 请求追踪ID | trace-123456 |
+| traceId | String | 否 | - | 请求追踪 ID | trace-123456 |
 
 #### 响应示例
 
@@ -168,7 +168,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 
-### 切换摄像头通道(MVP核心)
+### 切换摄像头通道(MVP 核心)
 
 维护人:TG Live
 
@@ -176,7 +176,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 - 本地开发环境: `POST` http://localhost:10050/api/camera/switch
 
-描述:切换摄像头通道(MVP核心)
+描述:切换摄像头通道(MVP 核心)
 
 ContentType:`application/json`
 
@@ -184,10 +184,10 @@ ContentType:`application/json`
 
 ##### Body Parameter
 
-| 名称      | 类型   | 必填 | 最大长度 | 描述       | 示例值      |
-| --------- | ------ | ---- | -------- | ---------- | ----------- |
-| machineId | String | 是   | -        | 机器ID     | machine_001 |
-| channelId | String | 是   | -        | 目标通道ID | ch_001      |
+| 名称      | 类型   | 必填 | 最大长度 | 描述        | 示例值      |
+| --------- | ------ | ---- | -------- | ----------- | ----------- |
+| machineId | String | 是   | -        | 机器 ID     | machine_001 |
+| channelId | String | 是   | -        | 目标通道 ID | ch_001      |
 
 #### 请求示例
 
@@ -205,14 +205,14 @@ ContentType:`application/json`
 | code          | Integer | 否   | -        | 响应码                            | 200                              |
 | message       | String  | 否   | -        | 响应消息                          | 操作成功                         |
 | data          | object  | 否   |          | 响应数据 (ActualType: ChannelDTO) |                                  |
-| └ channelId   | String  | 否   | -        | 通道ID                            | ch_001                           |
+| └ channelId   | String  | 否   | -        | 通道 ID                           | ch_001                           |
 | └ name        | String  | 否   | -        | 通道名称                          | 主通道                           |
-| └ rtspUrl     | String  | 否   | -        | RTSP地址                          | rtsp://192.168.1.100:554/stream1 |
+| └ rtspUrl     | String  | 否   | -        | RTSP 地址                         | rtsp://192.168.1.100:554/stream1 |
 | └ defaultView | Boolean | 否   | -        | 是否默认视角                      | true                             |
 | └ status      | String  | 否   | -        | 通道状态: ONLINE, OFFLINE         | ONLINE                           |
-| └ cameraId    | String  | 否   | -        | 所属摄像头ID                      | cam_001                          |
+| └ cameraId    | String  | 否   | -        | 所属摄像头 ID                     | cam_001                          |
 | timestamp     | Long    | 否   | -        | 时间戳                            | 1703145600000                    |
-| traceId       | String  | 否   | -        | 请求追踪ID                        | trace-123456                     |
+| traceId       | String  | 否   | -        | 请求追踪 ID                       | trace-123456                     |
 
 #### 响应示例
 
@@ -253,9 +253,9 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 ##### Query Parameter
 
-| 名称      | 类型   | 必填 | 最大长度 | 描述   | 示例值      |
-| --------- | ------ | ---- | -------- | ------ | ----------- |
-| machineId | string | 是   | -        | 机器ID | machine_001 |
+| 名称      | 类型   | 必填 | 最大长度 | 描述    | 示例值      |
+| --------- | ------ | ---- | -------- | ------- | ----------- |
+| machineId | string | 是   | -        | 机器 ID | machine_001 |
 
 #### 响应参数
 
@@ -264,14 +264,14 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | code          | Integer | 否   | -        | 响应码                            | 200                              |
 | message       | String  | 否   | -        | 响应消息                          | 操作成功                         |
 | data          | object  | 否   |          | 响应数据 (ActualType: ChannelDTO) |                                  |
-| └ channelId   | String  | 否   | -        | 通道ID                            | ch_001                           |
+| └ channelId   | String  | 否   | -        | 通道 ID                           | ch_001                           |
 | └ name        | String  | 否   | -        | 通道名称                          | 主通道                           |
-| └ rtspUrl     | String  | 否   | -        | RTSP地址                          | rtsp://192.168.1.100:554/stream1 |
+| └ rtspUrl     | String  | 否   | -        | RTSP 地址                         | rtsp://192.168.1.100:554/stream1 |
 | └ defaultView | Boolean | 否   | -        | 是否默认视角                      | true                             |
 | └ status      | String  | 否   | -        | 通道状态: ONLINE, OFFLINE         | ONLINE                           |
-| └ cameraId    | String  | 否   | -        | 所属摄像头ID                      | cam_001                          |
+| └ cameraId    | String  | 否   | -        | 所属摄像头 ID                     | cam_001                          |
 | timestamp     | Long    | 否   | -        | 时间戳                            | 1703145600000                    |
-| traceId       | String  | 否   | -        | 请求追踪ID                        | trace-123456                     |
+| traceId       | String  | 否   | -        | 请求追踪 ID                       | trace-123456                     |
 
 #### 响应示例
 
@@ -296,7 +296,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 
-### 开始PTZ控制(后台专用)
+### 开始 PTZ 控制(后台专用)
 
 维护人:TG Live
 
@@ -304,15 +304,15 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 - 本地开发环境: `POST` http://localhost:10050/api/camera/{cameraId}/ptz/start
 
-描述:开始PTZ控制(后台专用)
+描述:开始 PTZ 控制(后台专用)
 
 ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
-#### Path参数
+#### Path 参数
 
-| 名称     | 必填 | 描述     | 示例值     |
-| -------- | ---- | -------- | ---------- |
-| cameraId | 是   | 摄像头ID | camera_001 |
+| 名称     | 必填 | 描述      | 示例值     |
+| -------- | ---- | --------- | ---------- |
+| cameraId | 是   | 摄像头 ID | camera_001 |
 
 #### 请求参数
 
@@ -320,7 +320,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 | 名称   | 类型   | 必填 | 最大长度 | 描述        | 示例值 |
 | ------ | ------ | ---- | -------- | ----------- | ------ |
-| action | string | 是   | -        | PTZ动作     | up     |
+| action | string | 是   | -        | PTZ 动作    | up     |
 | speed  | int32  | 是   | -        | 速度(1-100) | 50     |
 
 #### 响应参数
@@ -331,7 +331,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | message   | String  | 否   | -        | 响应消息                    | 操作成功      |
 | data      | object  | 否   | -        | 响应数据 (ActualType: Void) |               |
 | timestamp | Long    | 否   | -        | 时间戳                      | 1703145600000 |
-| traceId   | String  | 否   | -        | 请求追踪ID                  | trace-123456  |
+| traceId   | String  | 否   | -        | 请求追踪 ID                 | trace-123456  |
 
 #### 响应示例
 
@@ -349,7 +349,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 
-### 停止PTZ控制(后台专用)
+### 停止 PTZ 控制(后台专用)
 
 维护人:TG Live
 
@@ -357,15 +357,15 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 - 本地开发环境: `POST` http://localhost:10050/api/camera/{cameraId}/ptz/stop
 
-描述:停止PTZ控制(后台专用)
+描述:停止 PTZ 控制(后台专用)
 
 ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
-#### Path参数
+#### Path 参数
 
-| 名称     | 必填 | 描述     | 示例值     |
-| -------- | ---- | -------- | ---------- |
-| cameraId | 是   | 摄像头ID | camera_001 |
+| 名称     | 必填 | 描述      | 示例值     |
+| -------- | ---- | --------- | ---------- |
+| cameraId | 是   | 摄像头 ID | camera_001 |
 
 #### 请求参数
 
@@ -377,7 +377,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | message   | String  | 否   | -        | 响应消息                    | 操作成功      |
 | data      | object  | 否   | -        | 响应数据 (ActualType: Void) |               |
 | timestamp | Long    | 否   | -        | 时间戳                      | 1703145600000 |
-| traceId   | String  | 否   | -        | 请求追踪ID                  | trace-123456  |
+| traceId   | String  | 否   | -        | 请求追踪 ID                 | trace-123456  |
 
 #### 响应示例
 
@@ -413,9 +413,9 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 ##### Query Parameter
 
-| 名称      | 类型   | 必填 | 最大长度 | 描述                           | 示例值      |
-| --------- | ------ | ---- | -------- | ------------------------------ | ----------- |
-| machineId | string | 否   | -        | 机器ID(可选),不传则返回全部 | machine_001 |
+| 名称      | 类型   | 必填 | 最大长度 | 描述                            | 示例值      |
+| --------- | ------ | ---- | -------- | ------------------------------- | ----------- |
+| machineId | string | 否   | -        | 机器 ID(可选),不传则返回全部 | machine_001 |
 
 #### 响应参数
 
@@ -424,29 +424,29 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | code | Integer | 否 | - | 响应码 | 200 |
 | message | String | 否 | - | 响应消息 | 操作成功 |
 | data | array | 否 |  | 响应数据 (ActualType: List) |  |
-| └ id | Long | 否 | - | 主键ID | 1 |
-| └ cameraId | String | 否 | - | 摄像头ID | cam_001 |
+| └ id | Long | 否 | - | 主键 ID | 1 |
+| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
 | └ name | String | 否 | - | 名称 | 主摄像头 |
-| └ ip | String | 否 | - | IP地址 | 192.168.1.100 |
+| └ ip | String | 否 | - | IP 地址 | 192.168.1.100 |
 | └ port | Integer | 否 | - | 端口 | 80 |
 | └ username | String | 否 | - | 用户名 | admin |
 | └ brand | String | 否 | - | 品牌 | hikvision |
 | └ capability | String | 否 | - | 能力: switch_only, ptz_enabled | ptz_enabled |
 | └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
-| └ machineId | String | 否 | - | 所属机器ID | machine_001 |
-| └ machineName | String | 否 | - | 所属机器名称 | 1号机 |
+| └ machineId | String | 否 | - | 所属机器 ID | machine_001 |
+| └ machineName | String | 否 | - | 所属机器名称 | 1 号机 |
 | └ enabled | Boolean | 否 | - | 是否启用 | true |
 | └ channels | List<ChannelInfoDTO> | 否 |  | 通道列表 (ActualType: ChannelInfoDTO) |  |
-| └ id | Long | 否 | - | 主键ID | 1 |
-| └ channelId | String | 否 | - | 通道ID | ch_001 |
+| └ id | Long | 否 | - | 主键 ID | 1 |
+| └ channelId | String | 否 | - | 通道 ID | ch_001 |
 | └ name | String | 否 | - | 通道名称 | 主通道 |
-| └ rtspUrl | String | 否 | - | RTSP地址 | rtsp://192.168.1.100:554/stream1 |
+| └ rtspUrl | String | 否 | - | RTSP 地址 | rtsp://192.168.1.100:554/stream1 |
 | └ defaultView | Boolean | 否 | - | 是否默认视角 | true |
 | └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
 | └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
 | └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
 | timestamp | Long | 否 | - | 时间戳 | 1703145600000 |
-| traceId | String | 否 | - | 请求追踪ID | trace-123456 |
+| traceId | String | 否 | - | 请求追踪 ID | trace-123456 |
 
 #### 响应示例
 
@@ -507,9 +507,9 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 ##### Query Parameter
 
-| 名称 | 类型  | 必填 | 最大长度 | 描述         | 示例值 |
-| ---- | ----- | ---- | -------- | ------------ | ------ |
-| id   | int64 | 是   | -        | 摄像头主键ID | 1      |
+| 名称 | 类型  | 必填 | 最大长度 | 描述          | 示例值 |
+| ---- | ----- | ---- | -------- | ------------- | ------ |
+| id   | int64 | 是   | -        | 摄像头主键 ID | 1      |
 
 #### 响应参数
 
@@ -518,29 +518,29 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | code | Integer | 否 | - | 响应码 | 200 |
 | message | String | 否 | - | 响应消息 | 操作成功 |
 | data | object | 否 |  | 响应数据 (ActualType: CameraInfoDTO) |  |
-| └ id | Long | 否 | - | 主键ID | 1 |
-| └ cameraId | String | 否 | - | 摄像头ID | cam_001 |
+| └ id | Long | 否 | - | 主键 ID | 1 |
+| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
 | └ name | String | 否 | - | 名称 | 主摄像头 |
-| └ ip | String | 否 | - | IP地址 | 192.168.1.100 |
+| └ ip | String | 否 | - | IP 地址 | 192.168.1.100 |
 | └ port | Integer | 否 | - | 端口 | 80 |
 | └ username | String | 否 | - | 用户名 | admin |
 | └ brand | String | 否 | - | 品牌 | hikvision |
 | └ capability | String | 否 | - | 能力: switch_only, ptz_enabled | ptz_enabled |
 | └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
-| └ machineId | String | 否 | - | 所属机器ID | machine_001 |
-| └ machineName | String | 否 | - | 所属机器名称 | 1号机 |
+| └ machineId | String | 否 | - | 所属机器 ID | machine_001 |
+| └ machineName | String | 否 | - | 所属机器名称 | 1 号机 |
 | └ enabled | Boolean | 否 | - | 是否启用 | true |
 | └ channels | List<ChannelInfoDTO> | 否 |  | 通道列表 (ActualType: ChannelInfoDTO) |  |
-| └ id | Long | 否 | - | 主键ID | 1 |
-| └ channelId | String | 否 | - | 通道ID | ch_001 |
+| └ id | Long | 否 | - | 主键 ID | 1 |
+| └ channelId | String | 否 | - | 通道 ID | ch_001 |
 | └ name | String | 否 | - | 通道名称 | 主通道 |
-| └ rtspUrl | String | 否 | - | RTSP地址 | rtsp://192.168.1.100:554/stream1 |
+| └ rtspUrl | String | 否 | - | RTSP 地址 | rtsp://192.168.1.100:554/stream1 |
 | └ defaultView | Boolean | 否 | - | 是否默认视角 | true |
 | └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
 | └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
 | └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
 | timestamp | Long | 否 | - | 时间戳 | 1703145600000 |
-| traceId | String | 否 | - | 请求追踪ID | trace-123456 |
+| traceId | String | 否 | - | 请求追踪 ID | trace-123456 |
 
 #### 响应示例
 
@@ -601,19 +601,19 @@ ContentType:`application/json`
 
 | 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
 | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
-| cameraId | String | 是 | 50 | 摄像头ID(唯一标识)<br>Validate[max: 50; ] | cam_001 |
+| cameraId | String | 是 | 50 | 摄像头 ID(唯一标识)<br>Validate[max: 50; ] | cam_001 |
 | name | String | 是 | 100 | 名称<br>Validate[max: 100; ] | 主摄像头 |
-| ip | String | 是 | - | IP地址<br>Validate[regexp: ^((25[0-5] | 2[0-4]\\d | [01]?\\d\\d?)\\.){3}(25[0-5] | 2[0-4]\\d | [01]?\\d\\d?)$; ] | 192.168.1.100 |
+| ip | String | 是 | - | IP 地址<br>Validate[regexp: ^((25[0-5] | 2[0-4]\\d | [01]?\\d\\d?)\\.){3}(25[0-5] | 2[0-4]\\d | [01]?\\d\\d?)$; ] | 192.168.1.100 |
 | port | Integer | 否 | - | 端口 | 80 |
 | username | String | 否 | 50 | 用户名<br>Validate[max: 50; ] | admin |
 | password | String | 否 | 100 | 密码<br>Validate[max: 100; ] | password123 |
 | brand | String | 否 | 30 | 品牌<br>Validate[max: 30; ] | hikvision |
 | capability | String | 否 | - | 能力: switch_only, ptz_enabled<br>Validate[regexp: ^(switch_only | ptz_enabled)$; ] | ptz_enabled |
-| machineId | String | 否 | - | 所属机器ID | machine_001 |
+| machineId | String | 否 | - | 所属机器 ID | machine_001 |
 | channels | List<CameraAddRequest$ChannelAddRequest> | 否 |  | 通道列表 (ActualType: ChannelAddRequest) |  |
-| └ channelId | String | 是 | - | 通道ID | ch_001 |
+| └ channelId | String | 是 | - | 通道 ID | ch_001 |
 | └ name | String | 是 | - | 通道名称 | 主通道 |
-| └ rtspUrl | String | 否 | - | RTSP地址 | rtsp://192.168.1.100:554/stream1 |
+| └ rtspUrl | String | 否 | - | RTSP 地址 | rtsp://192.168.1.100:554/stream1 |
 | └ defaultView | Boolean | 否 | - | 是否默认视角 | true |
 
 #### 请求示例
@@ -647,29 +647,29 @@ ContentType:`application/json`
 | code | Integer | 否 | - | 响应码 | 200 |
 | message | String | 否 | - | 响应消息 | 操作成功 |
 | data | object | 否 |  | 响应数据 (ActualType: CameraInfoDTO) |  |
-| └ id | Long | 否 | - | 主键ID | 1 |
-| └ cameraId | String | 否 | - | 摄像头ID | cam_001 |
+| └ id | Long | 否 | - | 主键 ID | 1 |
+| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
 | └ name | String | 否 | - | 名称 | 主摄像头 |
-| └ ip | String | 否 | - | IP地址 | 192.168.1.100 |
+| └ ip | String | 否 | - | IP 地址 | 192.168.1.100 |
 | └ port | Integer | 否 | - | 端口 | 80 |
 | └ username | String | 否 | - | 用户名 | admin |
 | └ brand | String | 否 | - | 品牌 | hikvision |
 | └ capability | String | 否 | - | 能力: switch_only, ptz_enabled | ptz_enabled |
 | └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
-| └ machineId | String | 否 | - | 所属机器ID | machine_001 |
-| └ machineName | String | 否 | - | 所属机器名称 | 1号机 |
+| └ machineId | String | 否 | - | 所属机器 ID | machine_001 |
+| └ machineName | String | 否 | - | 所属机器名称 | 1 号机 |
 | └ enabled | Boolean | 否 | - | 是否启用 | true |
 | └ channels | List<ChannelInfoDTO> | 否 |  | 通道列表 (ActualType: ChannelInfoDTO) |  |
-| └ id | Long | 否 | - | 主键ID | 1 |
-| └ channelId | String | 否 | - | 通道ID | ch_001 |
+| └ id | Long | 否 | - | 主键 ID | 1 |
+| └ channelId | String | 否 | - | 通道 ID | ch_001 |
 | └ name | String | 否 | - | 通道名称 | 主通道 |
-| └ rtspUrl | String | 否 | - | RTSP地址 | rtsp://192.168.1.100:554/stream1 |
+| └ rtspUrl | String | 否 | - | RTSP 地址 | rtsp://192.168.1.100:554/stream1 |
 | └ defaultView | Boolean | 否 | - | 是否默认视角 | true |
 | └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
 | └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
 | └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
 | timestamp | Long | 否 | - | 时间戳 | 1703145600000 |
-| traceId | String | 否 | - | 请求追踪ID | trace-123456 |
+| traceId | String | 否 | - | 请求追踪 ID | trace-123456 |
 
 #### 响应示例
 
@@ -730,21 +730,21 @@ ContentType:`application/json`
 
 | 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
 | --- | --- | --- | --- | --- | --- |
-| id | Long | 否 | - | 摄像头数据库ID | 1 |
+| id | Long | 否 | - | 摄像头数据库 ID | 1 |
 | name | String | 否 | - | 名称 | 主摄像头 |
-| ip | String | 否 | - | IP地址 | 192.168.1.100 |
+| ip | String | 否 | - | IP 地址 | 192.168.1.100 |
 | port | Integer | 否 | - | 端口 | 80 |
 | username | String | 否 | - | 用户名 | admin |
 | password | String | 否 | - | 密码(不传或为空则不修改) | password123 |
 | brand | String | 否 | - | 品牌 | hikvision |
 | capability | String | 否 | - | 能力: switch_only, ptz_enabled | ptz_enabled |
-| machineId | String | 否 | - | 所属机器ID | machine_001 |
+| machineId | String | 否 | - | 所属机器 ID | machine_001 |
 | enabled | Boolean | 否 | - | 启用状态 | true |
 | channels | List<CameraUpdateRequest$ChannelUpdateRequest> | 否 |  | 通道列表 (ActualType: ChannelUpdateRequest) |  |
-| └ id | Long | 否 | - | 通道数据库ID | 1 |
-| └ channelId | String | 否 | - | 通道ID | ch_001 |
+| └ id | Long | 否 | - | 通道数据库 ID | 1 |
+| └ channelId | String | 否 | - | 通道 ID | ch_001 |
 | └ name | String | 否 | - | 通道名称 | 主通道 |
-| └ rtspUrl | String | 否 | - | RTSP地址 | rtsp://192.168.1.100:554/stream1 |
+| └ rtspUrl | String | 否 | - | RTSP 地址 | rtsp://192.168.1.100:554/stream1 |
 | └ defaultView | Boolean | 否 | - | 是否默认视角 | true |
 
 #### 请求示例
@@ -780,29 +780,29 @@ ContentType:`application/json`
 | code | Integer | 否 | - | 响应码 | 200 |
 | message | String | 否 | - | 响应消息 | 操作成功 |
 | data | object | 否 |  | 响应数据 (ActualType: CameraInfoDTO) |  |
-| └ id | Long | 否 | - | 主键ID | 1 |
-| └ cameraId | String | 否 | - | 摄像头ID | cam_001 |
+| └ id | Long | 否 | - | 主键 ID | 1 |
+| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
 | └ name | String | 否 | - | 名称 | 主摄像头 |
-| └ ip | String | 否 | - | IP地址 | 192.168.1.100 |
+| └ ip | String | 否 | - | IP 地址 | 192.168.1.100 |
 | └ port | Integer | 否 | - | 端口 | 80 |
 | └ username | String | 否 | - | 用户名 | admin |
 | └ brand | String | 否 | - | 品牌 | hikvision |
 | └ capability | String | 否 | - | 能力: switch_only, ptz_enabled | ptz_enabled |
 | └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
-| └ machineId | String | 否 | - | 所属机器ID | machine_001 |
-| └ machineName | String | 否 | - | 所属机器名称 | 1号机 |
+| └ machineId | String | 否 | - | 所属机器 ID | machine_001 |
+| └ machineName | String | 否 | - | 所属机器名称 | 1 号机 |
 | └ enabled | Boolean | 否 | - | 是否启用 | true |
 | └ channels | List<ChannelInfoDTO> | 否 |  | 通道列表 (ActualType: ChannelInfoDTO) |  |
-| └ id | Long | 否 | - | 主键ID | 1 |
-| └ channelId | String | 否 | - | 通道ID | ch_001 |
+| └ id | Long | 否 | - | 主键 ID | 1 |
+| └ channelId | String | 否 | - | 通道 ID | ch_001 |
 | └ name | String | 否 | - | 通道名称 | 主通道 |
-| └ rtspUrl | String | 否 | - | RTSP地址 | rtsp://192.168.1.100:554/stream1 |
+| └ rtspUrl | String | 否 | - | RTSP 地址 | rtsp://192.168.1.100:554/stream1 |
 | └ defaultView | Boolean | 否 | - | 是否默认视角 | true |
 | └ status | String | 否 | - | 状态: ONLINE, OFFLINE | ONLINE |
 | └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
 | └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
 | timestamp | Long | 否 | - | 时间戳 | 1703145600000 |
-| traceId | String | 否 | - | 请求追踪ID | trace-123456 |
+| traceId | String | 否 | - | 请求追踪 ID | trace-123456 |
 
 #### 响应示例
 
@@ -861,9 +861,9 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 ##### Query Parameter
 
-| 名称 | 类型  | 必填 | 最大长度 | 描述         | 示例值 |
-| ---- | ----- | ---- | -------- | ------------ | ------ |
-| id   | int64 | 是   | -        | 摄像头主键ID | 1      |
+| 名称 | 类型  | 必填 | 最大长度 | 描述          | 示例值 |
+| ---- | ----- | ---- | -------- | ------------- | ------ |
+| id   | int64 | 是   | -        | 摄像头主键 ID | 1      |
 
 #### 响应参数
 
@@ -873,7 +873,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | message   | String  | 否   | -        | 响应消息                    | 操作成功      |
 | data      | object  | 否   | -        | 响应数据 (ActualType: Void) |               |
 | timestamp | Long    | 否   | -        | 时间戳                      | 1703145600000 |
-| traceId   | String  | 否   | -        | 请求追踪ID                  | trace-123456  |
+| traceId   | String  | 否   | -        | 请求追踪 ID                 | trace-123456  |
 
 #### 响应示例
 
@@ -907,9 +907,9 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 ##### Query Parameter
 
-| 名称 | 类型  | 必填 | 最大长度 | 描述         | 示例值 |
-| ---- | ----- | ---- | -------- | ------------ | ------ |
-| id   | int64 | 是   | -        | 摄像头主键ID | 1      |
+| 名称 | 类型  | 必填 | 最大长度 | 描述          | 示例值 |
+| ---- | ----- | ---- | -------- | ------------- | ------ |
+| id   | int64 | 是   | -        | 摄像头主键 ID | 1      |
 
 #### 响应参数
 
@@ -919,7 +919,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | message   | String  | 否   | -        | 响应消息                       | 操作成功      |
 | data      | boolean | 否   | -        | 响应数据 (ActualType: Boolean) |               |
 | timestamp | Long    | 否   | -        | 时间戳                         | 1703145600000 |
-| traceId   | String  | 否   | -        | 请求追踪ID                     | trace-123456  |
+| traceId   | String  | 否   | -        | 请求追踪 ID                    | trace-123456  |
 
 #### 响应示例
 
@@ -960,17 +960,17 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | code          | Integer       | 否   | -        | 响应码                      | 200                 |
 | message       | String        | 否   | -        | 响应消息                    | 操作成功            |
 | data          | array         | 否   |          | 响应数据 (ActualType: List) |                     |
-| └ id          | Long          | 否   | -        | 主键ID                      | 1                   |
-| └ machineId   | String        | 否   | -        | 机器ID                      | machine_001         |
-| └ name        | String        | 否   | -        | 名称                        | 1号机               |
-| └ location    | String        | 否   | -        | 位置                        | A区1楼              |
+| └ id          | Long          | 否   | -        | 主键 ID                     | 1                   |
+| └ machineId   | String        | 否   | -        | 机器 ID                     | machine_001         |
+| └ name        | String        | 否   | -        | 名称                        | 1 号机              |
+| └ location    | String        | 否   | -        | 位置                        | A  1            |
 | └ description | String        | 否   | -        | 描述                        | 主力机器            |
 | └ enabled     | Boolean       | 否   | -        | 是否启用                    | true                |
 | └ cameraCount | Integer       | 否   | -        | 摄像头数量                  | 3                   |
 | └ createdAt   | LocalDateTime | 否   | -        | 创建时间                    | 2026-01-07T10:00:00 |
 | └ updatedAt   | LocalDateTime | 否   | -        | 更新时间                    | 2026-01-07T10:00:00 |
 | timestamp     | Long          | 否   | -        | 时间戳                      | 1703145600000       |
-| traceId       | String        | 否   | -        | 请求追踪ID                  | trace-123456        |
+| traceId       | String        | 否   | -        | 请求追踪 ID                 | trace-123456        |
 
 #### 响应示例
 
@@ -1016,9 +1016,9 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 ##### Query Parameter
 
-| 名称 | 类型  | 必填 | 最大长度 | 描述       | 示例值 |
-| ---- | ----- | ---- | -------- | ---------- | ------ |
-| id   | int64 | 是   | -        | 机器主键ID | 1      |
+| 名称 | 类型  | 必填 | 最大长度 | 描述        | 示例值 |
+| ---- | ----- | ---- | -------- | ----------- | ------ |
+| id   | int64 | 是   | -        | 机器主键 ID | 1      |
 
 #### 响应参数
 
@@ -1027,17 +1027,17 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | code          | Integer       | 否   | -        | 响应码                            | 200                 |
 | message       | String        | 否   | -        | 响应消息                          | 操作成功            |
 | data          | object        | 否   |          | 响应数据 (ActualType: MachineDTO) |                     |
-| └ id          | Long          | 否   | -        | 主键ID                            | 1                   |
-| └ machineId   | String        | 否   | -        | 机器ID                            | machine_001         |
-| └ name        | String        | 否   | -        | 名称                              | 1号机               |
-| └ location    | String        | 否   | -        | 位置                              | A区1楼              |
+| └ id          | Long          | 否   | -        | 主键 ID                           | 1                   |
+| └ machineId   | String        | 否   | -        | 机器 ID                           | machine_001         |
+| └ name        | String        | 否   | -        | 名称                              | 1 号机              |
+| └ location    | String        | 否   | -        | 位置                              | A  1            |
 | └ description | String        | 否   | -        | 描述                              | 主力机器            |
 | └ enabled     | Boolean       | 否   | -        | 是否启用                          | true                |
 | └ cameraCount | Integer       | 否   | -        | 摄像头数量                        | 3                   |
 | └ createdAt   | LocalDateTime | 否   | -        | 创建时间                          | 2026-01-07T10:00:00 |
 | └ updatedAt   | LocalDateTime | 否   | -        | 更新时间                          | 2026-01-07T10:00:00 |
 | timestamp     | Long          | 否   | -        | 时间戳                            | 1703145600000       |
-| traceId       | String        | 否   | -        | 请求追踪ID                        | trace-123456        |
+| traceId       | String        | 否   | -        | 请求追踪 ID                       | trace-123456        |
 
 #### 响应示例
 
@@ -1081,12 +1081,12 @@ ContentType:`application/json`
 
 ##### Body Parameter
 
-| 名称        | 类型   | 必填 | 最大长度 | 描述                                      | 示例值      |
-| ----------- | ------ | ---- | -------- | ----------------------------------------- | ----------- |
-| machineId   | String | 是   | 50       | 机器ID(唯一标识)<br>Validate[max: 50; ] | machine_001 |
-| name        | String | 是   | 100      | 名称<br>Validate[max: 100; ]              | 1号机       |
-| location    | String | 否   | 200      | 位置<br>Validate[max: 200; ]              | A区1楼      |
-| description | String | 否   | 500      | 描述<br>Validate[max: 500; ]              | 主力机器    |
+| 名称        | 类型   | 必填 | 最大长度 | 描述                                       | 示例值      |
+| ----------- | ------ | ---- | -------- | ------------------------------------------ | ----------- |
+| machineId   | String | 是   | 50       | 机器 ID(唯一标识)<br>Validate[max: 50; ] | machine_001 |
+| name        | String | 是   | 100      | 名称<br>Validate[max: 100; ]               | 1 号机      |
+| location    | String | 否   | 200      | 位置<br>Validate[max: 200; ]               | A  1 楼   |
+| description | String | 否   | 500      | 描述<br>Validate[max: 500; ]               | 主力机器    |
 
 #### 请求示例
 
@@ -1106,17 +1106,17 @@ ContentType:`application/json`
 | code          | Integer       | 否   | -        | 响应码                            | 200                 |
 | message       | String        | 否   | -        | 响应消息                          | 操作成功            |
 | data          | object        | 否   |          | 响应数据 (ActualType: MachineDTO) |                     |
-| └ id          | Long          | 否   | -        | 主键ID                            | 1                   |
-| └ machineId   | String        | 否   | -        | 机器ID                            | machine_001         |
-| └ name        | String        | 否   | -        | 名称                              | 1号机               |
-| └ location    | String        | 否   | -        | 位置                              | A区1楼              |
+| └ id          | Long          | 否   | -        | 主键 ID                           | 1                   |
+| └ machineId   | String        | 否   | -        | 机器 ID                           | machine_001         |
+| └ name        | String        | 否   | -        | 名称                              | 1 号机              |
+| └ location    | String        | 否   | -        | 位置                              | A  1            |
 | └ description | String        | 否   | -        | 描述                              | 主力机器            |
 | └ enabled     | Boolean       | 否   | -        | 是否启用                          | true                |
 | └ cameraCount | Integer       | 否   | -        | 摄像头数量                        | 3                   |
 | └ createdAt   | LocalDateTime | 否   | -        | 创建时间                          | 2026-01-07T10:00:00 |
 | └ updatedAt   | LocalDateTime | 否   | -        | 更新时间                          | 2026-01-07T10:00:00 |
 | timestamp     | Long          | 否   | -        | 时间戳                            | 1703145600000       |
-| traceId       | String        | 否   | -        | 请求追踪ID                        | trace-123456        |
+| traceId       | String        | 否   | -        | 请求追踪 ID                       | trace-123456        |
 
 #### 响应示例
 
@@ -1160,13 +1160,13 @@ ContentType:`application/json`
 
 ##### Body Parameter
 
-| 名称        | 类型    | 必填 | 最大长度 | 描述         | 示例值   |
-| ----------- | ------- | ---- | -------- | ------------ | -------- |
-| id          | Long    | 否   | -        | 机器数据库ID | 1        |
-| name        | String  | 否   | -        | 名称         | 1号机    |
-| location    | String  | 否   | -        | 位置         | A区1楼   |
-| description | String  | 否   | -        | 描述         | 主力机器 |
-| enabled     | Boolean | 否   | -        | 启用状态     | true     |
+| 名称        | 类型    | 必填 | 最大长度 | 描述          | 示例值    |
+| ----------- | ------- | ---- | -------- | ------------- | --------- |
+| id          | Long    | 否   | -        | 机器数据库 ID | 1         |
+| name        | String  | 否   | -        | 名称          | 1 号机    |
+| location    | String  | 否   | -        | 位置          | A 1  |
+| description | String  | 否   | -        | 描述          | 主力机器  |
+| enabled     | Boolean | 否   | -        | 启用状态      | true      |
 
 #### 请求示例
 
@@ -1187,17 +1187,17 @@ ContentType:`application/json`
 | code          | Integer       | 否   | -        | 响应码                            | 200                 |
 | message       | String        | 否   | -        | 响应消息                          | 操作成功            |
 | data          | object        | 否   |          | 响应数据 (ActualType: MachineDTO) |                     |
-| └ id          | Long          | 否   | -        | 主键ID                            | 1                   |
-| └ machineId   | String        | 否   | -        | 机器ID                            | machine_001         |
-| └ name        | String        | 否   | -        | 名称                              | 1号机               |
-| └ location    | String        | 否   | -        | 位置                              | A区1楼              |
+| └ id          | Long          | 否   | -        | 主键 ID                           | 1                   |
+| └ machineId   | String        | 否   | -        | 机器 ID                           | machine_001         |
+| └ name        | String        | 否   | -        | 名称                              | 1 号机              |
+| └ location    | String        | 否   | -        | 位置                              | A  1            |
 | └ description | String        | 否   | -        | 描述                              | 主力机器            |
 | └ enabled     | Boolean       | 否   | -        | 是否启用                          | true                |
 | └ cameraCount | Integer       | 否   | -        | 摄像头数量                        | 3                   |
 | └ createdAt   | LocalDateTime | 否   | -        | 创建时间                          | 2026-01-07T10:00:00 |
 | └ updatedAt   | LocalDateTime | 否   | -        | 更新时间                          | 2026-01-07T10:00:00 |
 | timestamp     | Long          | 否   | -        | 时间戳                            | 1703145600000       |
-| traceId       | String        | 否   | -        | 请求追踪ID                        | trace-123456        |
+| traceId       | String        | 否   | -        | 请求追踪 ID                       | trace-123456        |
 
 #### 响应示例
 
@@ -1241,9 +1241,9 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 
 ##### Query Parameter
 
-| 名称 | 类型  | 必填 | 最大长度 | 描述       | 示例值 |
-| ---- | ----- | ---- | -------- | ---------- | ------ |
-| id   | int64 | 是   | -        | 机器主键ID | 1      |
+| 名称 | 类型  | 必填 | 最大长度 | 描述        | 示例值 |
+| ---- | ----- | ---- | -------- | ----------- | ------ |
+| id   | int64 | 是   | -        | 机器主键 ID | 1      |
 
 #### 响应参数
 
@@ -1253,7 +1253,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | message   | String  | 否   | -        | 响应消息                    | 操作成功      |
 | data      | object  | 否   | -        | 响应数据 (ActualType: Void) |               |
 | timestamp | Long    | 否   | -        | 时间戳                      | 1703145600000 |
-| traceId   | String  | 否   | -        | 请求追踪ID                  | trace-123456  |
+| traceId   | String  | 否   | -        | 请求追踪 ID                 | trace-123456  |
 
 #### 响应示例
 
@@ -1314,13 +1314,13 @@ ContentType:`application/json`
 | └ tokenType | String | 否 | - | Token 类型 | Bearer |
 | └ expiresIn | Long | 否 | - | 过期时间(秒) | 86400 |
 | └ admin | AdminInfoDTO | 否 |  | 用户信息 |  |
-| └ id | Long | 否 | - | 用户ID | 1 |
+| └ id | Long | 否 | - | 用户 ID | 1 |
 | └ username | String | 否 | - | 用户名 | admin |
 | └ nickname | String | 否 | - | 昵称 | 管理员 |
 | └ role | String | 否 | - | 角色 | ADMIN |
 | └ lastLoginAt | LocalDateTime | 否 | - | 最后登录时间 | 2026-01-07T10:00:00 |
 | timestamp | Long | 否 | - | 时间戳 | 1703145600000 |
-| traceId | String | 否 | - | 请求追踪ID | trace-123456 |
+| traceId | String | 否 | - | 请求追踪 ID | trace-123456 |
 
 #### 响应示例
 
@@ -1371,7 +1371,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | message   | String  | 否   | -        | 响应消息                    | 操作成功      |
 | data      | object  | 否   | -        | 响应数据 (ActualType: Void) |               |
 | timestamp | Long    | 否   | -        | 时间戳                      | 1703145600000 |
-| traceId   | String  | 否   | -        | 请求追踪ID                  | trace-123456  |
+| traceId   | String  | 否   | -        | 请求追踪 ID                 | trace-123456  |
 
 #### 响应示例
 
@@ -1410,13 +1410,13 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | code          | Integer       | 否   | -        | 响应码                              | 200                 |
 | message       | String        | 否   | -        | 响应消息                            | 操作成功            |
 | data          | object        | 否   |          | 响应数据 (ActualType: AdminInfoDTO) |                     |
-| └ id          | Long          | 否   | -        | 用户ID                              | 1                   |
+| └ id          | Long          | 否   | -        | 用户 ID                             | 1                   |
 | └ username    | String        | 否   | -        | 用户名                              | admin               |
 | └ nickname    | String        | 否   | -        | 昵称                                | 管理员              |
 | └ role        | String        | 否   | -        | 角色                                | ADMIN               |
 | └ lastLoginAt | LocalDateTime | 否   | -        | 最后登录时间                        | 2026-01-07T10:00:00 |
 | timestamp     | Long          | 否   | -        | 时间戳                              | 1703145600000       |
-| traceId       | String        | 否   | -        | 请求追踪ID                          | trace-123456        |
+| traceId       | String        | 否   | -        | 请求追踪 ID                         | trace-123456        |
 
 #### 响应示例
 
@@ -1456,10 +1456,10 @@ ContentType:`application/json`
 
 ##### Body Parameter
 
-| 名称        | 类型   | 必填 | 最大长度 | 描述                                        | 示例值      |
-| ----------- | ------ | ---- | -------- | ------------------------------------------- | ----------- |
-| oldPassword | String | 是   | -        | 旧密码                                      | oldpassword |
-| newPassword | String | 是   | 100      | 新密码(6-100字符)<br>Validate[max: 100; ] | newpassword |
+| 名称        | 类型   | 必填 | 最大长度 | 描述                                         | 示例值      |
+| ----------- | ------ | ---- | -------- | -------------------------------------------- | ----------- |
+| oldPassword | String | 是   | -        | 旧密码                                       | oldpassword |
+| newPassword | String | 是   | 100      | 新密码(6-100 字符)<br>Validate[max: 100; ] | newpassword |
 
 #### 请求示例
 
@@ -1478,7 +1478,7 @@ ContentType:`application/json`
 | message   | String  | 否   | -        | 响应消息                    | 操作成功      |
 | data      | object  | 否   | -        | 响应数据 (ActualType: Void) |               |
 | timestamp | Long    | 否   | -        | 时间戳                      | 1703145600000 |
-| traceId   | String  | 否   | -        | 请求追踪ID                  | trace-123456  |
+| traceId   | String  | 否   | -        | 请求追踪 ID                 | trace-123456  |
 
 #### 响应示例
 
@@ -1526,7 +1526,7 @@ ContentType:`application/x-www-form-urlencoded;charset=UTF-8`
 | └ cameraOffline  | Long    | 否   | -        | 离线摄像头数                             | 5             |
 | └ channelTotal   | Long    | 否   | -        | 通道总数                                 | 40            |
 | timestamp        | Long    | 否   | -        | 时间戳                                   | 1703145600000 |
-| traceId          | String  | 否   | -        | 请求追踪ID                               | trace-123456  |
+| traceId          | String  | 否   | -        | 请求追踪 ID                              | trace-123456  |
 
 #### 响应示例
 

+ 27 - 21
docs/cctv/HIKVISION-ISAPI-PTZ.md

@@ -11,6 +11,7 @@ ISAPI(IP Surveillance API)是海康威视设备的标准 HTTP API 接口,
 ### 1.2 PTZ 功能
 
 PTZ(Pan-Tilt-Zoom)云台控制,支持:
+
 - **Pan**:水平转动(左右)
 - **Tilt**:垂直转动(上下)
 - **Zoom**:变焦(放大缩小)
@@ -24,6 +25,7 @@ PTZ(Pan-Tilt-Zoom)云台控制,支持:
 海康摄像头 Web 界面使用 **Session 认证**,而非 Basic Auth。
 
 认证流程:
+
 1. 访问摄像头 Web 界面:`http://{ip}/doc/page/preview.asp`
 2. 输入用户名密码登录
 3. 登录成功后获取:
@@ -32,10 +34,10 @@ PTZ(Pan-Tilt-Zoom)云台控制,支持:
 
 ### 2.2 认证 Header
 
-| Header | 格式 | 说明 |
-|--------|------|------|
-| Cookie | `WebSession_{id}={token}` | Session Token |
-| SessionTag | `{hash}` | 请求验证标识 |
+| Header     | 格式                      | 说明          |
+| ---------- | ------------------------- | ------------- |
+| Cookie     | `WebSession_{id}={token}` | Session Token |
+| SessionTag | `{hash}`                  | 请求验证标识  |
 
 ### 2.3 获取认证信息
 
@@ -55,14 +57,17 @@ PTZ(Pan-Tilt-Zoom)云台控制,支持:
 持续向某个方向移动,直到发送停止命令。
 
 **端点**
+
 ```
 PUT /ISAPI/PTZCtrl/channels/{channel}/continuous
 ```
 
 **参数**
+
 - `channel`: 通道号,通常为 `1`
 
 **请求头**
+
 ```http
 Content-Type: application/x-www-form-urlencoded; charset=UTF-8
 Cookie: WebSession_{id}={token}
@@ -72,6 +77,7 @@ If-Modified-Since: 0
 ```
 
 **请求体(XML)**
+
 ```xml
 <?xml version="1.0" encoding="UTF-8"?>
 <PTZData>
@@ -86,25 +92,25 @@ If-Modified-Since: 0
 
 ### 4.1 PTZ 参数范围
 
-| 参数 | 范围 | 说明 |
-|------|------|------|
-| pan | -100 ~ 100 | 水平转动速度,负值向左,正值向右 |
+| 参数 | 范围       | 说明                             |
+| ---- | ---------- | -------------------------------- |
+| pan  | -100 ~ 100 | 水平转动速度,负值向左,正值向右 |
 | tilt | -100 ~ 100 | 垂直转动速度,负值向下,正值向上 |
-| zoom | -100 ~ 100 | 变焦速度,负值缩小,正值放大 |
+| zoom | -100 ~ 100 | 变焦速度,负值缩小,正值放大     |
 
 ### 4.2 方向控制对照表
 
-| 方向 | pan | tilt | 说明 |
-|------|-----|------|------|
-| 上 | 0 | 60 | 向上转动 |
-| 下 | 0 | -60 | 向下转动 |
-| 左 | -60 | 0 | 向左转动 |
-| 右 | 60 | 0 | 向右转动 |
-| 左上 | -60 | 60 | 斜向左上 |
-| 右上 | 60 | 60 | 斜向右上 |
-| 左下 | -60 | -60 | 斜向左下 |
-| 右下 | 60 | -60 | 斜向右下 |
-| **停止** | 0 | 0 | 停止移动 |
+| 方向     | pan | tilt | 说明     |
+| -------- | --- | ---- | -------- |
+| 上       | 0   | 60   | 向上转动 |
+| 下       | 0   | -60  | 向下转动 |
+| 左       | -60 | 0    | 向左转动 |
+| 右       | 60  | 0    | 向右转动 |
+| 左上     | -60 | 60   | 斜向左上 |
+| 右上     | 60  | 60   | 斜向右上 |
+| 左下     | -60 | -60  | 斜向左下 |
+| 右下     | 60  | -60  | 斜向右下 |
+| **停止** | 0   | 0    | 停止移动 |
 
 > 注:数值 60 是推荐的移动速度,可根据需要调整(1-100)
 
@@ -212,6 +218,6 @@ X-Requested-With: XMLHttpRequest
 
 ## 更新日志
 
-| 日期 | 内容 |
-|------|------|
+| 日期       | 内容                       |
+| ---------- | -------------------------- |
 | 2026-01-09 | 初始版本,基于实际抓包整理 |