# 文档

## 摄像头管理

### 获取摄像头列表（分页）

维护人：TG Live

#### URL

- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/list
- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/list

描述：获取摄像头列表（分页）

ContentType：`application/json`

#### 请求参数

##### Body Parameter

| 名称    | 类型    | 必填 | 最大长度 | 描述                                            | 示例值    |
| ------- | ------- | ---- | -------- | ----------------------------------------------- | --------- |
| page    | Integer | 否   | -        | 页码 (从 1 开始)                                | 1         |
| size    | Integer | 否   | -        | 每页条数                                        | 10        |
| keyword | String  | 否   | -        | 搜索关键词 (模糊匹配名称、ID 等)                | 摄像头    |
| enabled | Boolean | 否   | -        | 启用状态过滤 (null=全部, true=启用, false=禁用) | true      |
| sortBy  | String  | 否   | -        | 排序字段                                        | createdAt |
| sortDir | String  | 否   | -        | 排序方向 (ASC/DESC)                             | DESC      |
| lssId   | String  | 否   | -        | LSS 节点 ID 过滤                                | lss_001   |
| status  | String  | 否   | -        | 在线状态过滤 (ONLINE/OFFLINE)                   | ONLINE    |

#### 请求示例

```
{
    "page": 1,
    "size": 10,
    "keyword": "摄像头",
    "enabled": true,
    "sortBy": "createdAt",
    "sortDir": "DESC",
    "lssId": "lss_001",
    "status": "ONLINE"
}
```

#### 响应参数

| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
| --- | --- | --- | --- | --- | --- |
| success | Boolean | 否 | - | 请求是否成功 | true |
| errCode | String | 否 | - | 错误码（失败时返回） |  |
| errMessage | String | 否 | - | 错误信息（失败时返回） |  |
| data | object | 否 |  | 响应数据 (ActualType: PageResponse) |  |
| └ list | List<T> | 否 |  | 数据列表 (ActualType: T) |  |
| └ id | Long | 否 | - | 主键 ID | 1 |
| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
| └ name | String | 否 | - | 名称 | 主摄像头 |
| └ 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 |
| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
| └ model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
| └ channelNo | String | 否 | - | 通道号 | 1 |
| └ remark | String | 否 | - | 备注 |  |
| └ enabled | Boolean | 否 | - | 是否启用 | true |
| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |
| └ page | Integer | 否 | - | 当前页码 (从 1 开始) | 1 |
| └ size | Integer | 否 | - | 每页条数 | 10 |
| └ total | Long | 否 | - | 总记录数 | 100 |
| └ totalPages | Integer | 否 | - | 总页数 | 10 |
| └ hasNext | Boolean | 否 | - | 是否有下一页 | true |
| └ hasPrevious | Boolean | 否 | - | 是否有上一页 | false |

#### 响应示例

```
{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": {
        "list": [
            {
                "id": 1,
                "cameraId": "cam_001",
                "name": "主摄像头",
                "ip": "192.168.1.100",
                "port": 80,
                "username": "admin",
                "brand": "hikvision",
                "capability": "ptz_enabled",
                "status": "ONLINE",
                "lssId": "lss_001",
                "model": "DS-2CD2T47G2-LSU/SL",
                "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
                "channelNo": "1",
                "remark": "string",
                "enabled": true,
                "createdAt": "2026-01-07T10:00:00",
                "updatedAt": "2026-01-07T10:00:00"
            }
        ],
        "page": 1,
        "size": 10,
        "total": 100,
        "totalPages": 10,
        "hasNext": true,
        "hasPrevious": false
    }
}
```

#### 错误码

无

### 获取摄像头列表（全部，不分页）

维护人：TG Live

#### URL

- 本地开发环境: `GET` http://localhost:10050/api/admin/cameras/listAll
- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/cameras/listAll

描述：获取摄像头列表（全部，不分页）

ContentType：`application/x-www-form-urlencoded;charset=UTF-8`

#### 请求参数

##### Query Parameter

| 名称      | 类型   | 必填 | 最大长度 | 描述            | 示例值      |
| --------- | ------ | ---- | -------- | --------------- | ----------- |
| machineId | string | 否   | -        | 机器 ID（可选） | machine_001 |

#### 响应参数

| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
| --- | --- | --- | --- | --- | --- |
| success | Boolean | 否 | - | 请求是否成功 | true |
| errCode | String | 否 | - | 错误码（失败时返回） |  |
| errMessage | String | 否 | - | 错误信息（失败时返回） |  |
| data | array | 否 |  | 响应数据 (ActualType: List) |  |
| └ id | Long | 否 | - | 主键 ID | 1 |
| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
| └ name | String | 否 | - | 名称 | 主摄像头 |
| └ 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 |
| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
| └ model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
| └ channelNo | String | 否 | - | 通道号 | 1 |
| └ remark | String | 否 | - | 备注 |  |
| └ enabled | Boolean | 否 | - | 是否启用 | true |
| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |

#### 响应示例

```
{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": [
        {
            "id": 1,
            "cameraId": "cam_001",
            "name": "主摄像头",
            "ip": "192.168.1.100",
            "port": 80,
            "username": "admin",
            "brand": "hikvision",
            "capability": "ptz_enabled",
            "status": "ONLINE",
            "lssId": "lss_001",
            "model": "DS-2CD2T47G2-LSU/SL",
            "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
            "channelNo": "1",
            "remark": "string",
            "enabled": true,
            "createdAt": "2026-01-07T10:00:00",
            "updatedAt": "2026-01-07T10:00:00"
        }
    ]
}
```

#### 错误码

无

### 获取摄像头详情

维护人：TG Live

#### URL

- 本地开发环境: `GET` http://localhost:10050/api/admin/cameras/detail
- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/cameras/detail

描述：获取摄像头详情

ContentType：`application/x-www-form-urlencoded;charset=UTF-8`

#### 请求参数

##### Query Parameter

| 名称 | 类型  | 必填 | 最大长度 | 描述          | 示例值 |
| ---- | ----- | ---- | -------- | ------------- | ------ |
| id   | int64 | 是   | -        | 摄像头主键 ID | 1      |

#### 响应参数

| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
| --- | --- | --- | --- | --- | --- |
| success | Boolean | 否 | - | 请求是否成功 | true |
| errCode | String | 否 | - | 错误码（失败时返回） |  |
| errMessage | String | 否 | - | 错误信息（失败时返回） |  |
| data | object | 否 |  | 响应数据 (ActualType: CameraInfoDTO) |  |
| └ id | Long | 否 | - | 主键 ID | 1 |
| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
| └ name | String | 否 | - | 名称 | 主摄像头 |
| └ 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 |
| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
| └ model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
| └ channelNo | String | 否 | - | 通道号 | 1 |
| └ remark | String | 否 | - | 备注 |  |
| └ enabled | Boolean | 否 | - | 是否启用 | true |
| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |

#### 响应示例

```
{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": {
        "id": 1,
        "cameraId": "cam_001",
        "name": "主摄像头",
        "ip": "192.168.1.100",
        "port": 80,
        "username": "admin",
        "brand": "hikvision",
        "capability": "ptz_enabled",
        "status": "ONLINE",
        "lssId": "lss_001",
        "model": "DS-2CD2T47G2-LSU/SL",
        "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
        "channelNo": "1",
        "remark": "string",
        "enabled": true,
        "createdAt": "2026-01-07T10:00:00",
        "updatedAt": "2026-01-07T10:00:00"
    }
}
```

#### 错误码

无

### 添加摄像头

维护人：TG Live

#### URL

- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/add
- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/add

描述：添加摄像头

ContentType：`application/json`

#### 请求参数

##### Body Parameter

| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 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 |
| 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 |
| lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
| model | String | 否 | 100 | 摄像头型号<br>Validate[max: 100; ] | DS-2CD2T47G2-LSU/SL |
| rtspUrl | String | 否 | 500 | RTSP 推流地址<br>Validate[max: 500; ] | rtsp://admin:password@192.168.1.100:554/stream1 |
| channelNo | String | 否 | 20 | 通道号 (用于多通道摄像头)<br>Validate[max: 20; ] | 1 |
| remark | String | 否 | 500 | 备注<br>Validate[max: 500; ] |  |

#### 请求示例

```
{
    "cameraId": "cam_001",
    "name": "主摄像头",
    "ip": "192.168.1.100",
    "port": 80,
    "username": "admin",
    "password": "password123",
    "brand": "hikvision",
    "capability": "ptz_enabled",
    "lssId": "lss_001",
    "model": "DS-2CD2T47G2-LSU/SL",
    "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
    "channelNo": "1",
    "remark": "string"
}
```

#### 响应参数

| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
| --- | --- | --- | --- | --- | --- |
| success | Boolean | 否 | - | 请求是否成功 | true |
| errCode | String | 否 | - | 错误码（失败时返回） |  |
| errMessage | String | 否 | - | 错误信息（失败时返回） |  |
| data | object | 否 |  | 响应数据 (ActualType: CameraInfoDTO) |  |
| └ id | Long | 否 | - | 主键 ID | 1 |
| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
| └ name | String | 否 | - | 名称 | 主摄像头 |
| └ 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 |
| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
| └ model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
| └ channelNo | String | 否 | - | 通道号 | 1 |
| └ remark | String | 否 | - | 备注 |  |
| └ enabled | Boolean | 否 | - | 是否启用 | true |
| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |

#### 响应示例

```
{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": {
        "id": 1,
        "cameraId": "cam_001",
        "name": "主摄像头",
        "ip": "192.168.1.100",
        "port": 80,
        "username": "admin",
        "brand": "hikvision",
        "capability": "ptz_enabled",
        "status": "ONLINE",
        "lssId": "lss_001",
        "model": "DS-2CD2T47G2-LSU/SL",
        "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
        "channelNo": "1",
        "remark": "string",
        "enabled": true,
        "createdAt": "2026-01-07T10:00:00",
        "updatedAt": "2026-01-07T10:00:00"
    }
}
```

#### 错误码

无

### 更新摄像头

维护人：TG Live

#### URL

- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/update
- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/update

描述：更新摄像头

ContentType：`application/json`

#### 请求参数

##### Body Parameter

| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
| --- | --- | --- | --- | --- | --- |
| id | Long | 否 | - | 摄像头数据库 ID | 1 |
| name | String | 否 | - | 名称 | 主摄像头 |
| 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 |
| lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
| model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
| rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
| channelNo | String | 否 | - | 通道号 | 1 |
| remark | String | 否 | - | 备注 |  |
| enabled | Boolean | 否 | - | 启用状态 | true |

#### 请求示例

```
{
    "id": 1,
    "name": "主摄像头",
    "ip": "192.168.1.100",
    "port": 80,
    "username": "admin",
    "password": "password123",
    "brand": "hikvision",
    "capability": "ptz_enabled",
    "lssId": "lss_001",
    "model": "DS-2CD2T47G2-LSU/SL",
    "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
    "channelNo": "1",
    "remark": "string",
    "enabled": true
}
```

#### 响应参数

| 名称 | 类型 | 必填 | 最大长度 | 描述 | 示例值 |
| --- | --- | --- | --- | --- | --- |
| success | Boolean | 否 | - | 请求是否成功 | true |
| errCode | String | 否 | - | 错误码（失败时返回） |  |
| errMessage | String | 否 | - | 错误信息（失败时返回） |  |
| data | object | 否 |  | 响应数据 (ActualType: CameraInfoDTO) |  |
| └ id | Long | 否 | - | 主键 ID | 1 |
| └ cameraId | String | 否 | - | 摄像头 ID | cam_001 |
| └ name | String | 否 | - | 名称 | 主摄像头 |
| └ 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 |
| └ lssId | String | 否 | - | 绑定的 LSS 节点 ID | lss_001 |
| └ model | String | 否 | - | 摄像头型号 | DS-2CD2T47G2-LSU/SL |
| └ rtspUrl | String | 否 | - | RTSP 推流地址 | rtsp://admin:password@192.168.1.100:554/stream1 |
| └ channelNo | String | 否 | - | 通道号 | 1 |
| └ remark | String | 否 | - | 备注 |  |
| └ enabled | Boolean | 否 | - | 是否启用 | true |
| └ createdAt | LocalDateTime | 否 | - | 创建时间 | 2026-01-07T10:00:00 |
| └ updatedAt | LocalDateTime | 否 | - | 更新时间 | 2026-01-07T10:00:00 |

#### 响应示例

```
{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": {
        "id": 1,
        "cameraId": "cam_001",
        "name": "主摄像头",
        "ip": "192.168.1.100",
        "port": 80,
        "username": "admin",
        "brand": "hikvision",
        "capability": "ptz_enabled",
        "status": "ONLINE",
        "lssId": "lss_001",
        "model": "DS-2CD2T47G2-LSU/SL",
        "rtspUrl": "rtsp://admin:password@192.168.1.100:554/stream1",
        "channelNo": "1",
        "remark": "string",
        "enabled": true,
        "createdAt": "2026-01-07T10:00:00",
        "updatedAt": "2026-01-07T10:00:00"
    }
}
```

#### 错误码

无

### 删除摄像头

维护人：TG Live

#### URL

- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/delete
- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/delete

描述：删除摄像头

ContentType：`application/x-www-form-urlencoded;charset=UTF-8`

#### 请求参数

##### Query Parameter

| 名称 | 类型  | 必填 | 最大长度 | 描述          | 示例值 |
| ---- | ----- | ---- | -------- | ------------- | ------ |
| id   | int64 | 是   | -        | 摄像头主键 ID | 1      |

#### 响应参数

| 名称       | 类型    | 必填 | 最大长度 | 描述                        | 示例值 |
| ---------- | ------- | ---- | -------- | --------------------------- | ------ |
| success    | Boolean | 否   | -        | 请求是否成功                | true   |
| errCode    | String  | 否   | -        | 错误码（失败时返回）        |        |
| errMessage | String  | 否   | -        | 错误信息（失败时返回）      |        |
| data       | object  | 否   | -        | 响应数据 (ActualType: Void) |        |

#### 响应示例

```
{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": {}
}
```

#### 错误码

无

### 检测摄像头连通性

维护人：TG Live

#### URL

- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/check
- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/check

描述：检测摄像头连通性

ContentType：`application/x-www-form-urlencoded;charset=UTF-8`

#### 请求参数

##### Query Parameter

| 名称 | 类型  | 必填 | 最大长度 | 描述          | 示例值 |
| ---- | ----- | ---- | -------- | ------------- | ------ |
| id   | int64 | 是   | -        | 摄像头主键 ID | 1      |

#### 响应参数

| 名称       | 类型    | 必填 | 最大长度 | 描述                           | 示例值 |
| ---------- | ------- | ---- | -------- | ------------------------------ | ------ |
| success    | Boolean | 否   | -        | 请求是否成功                   | true   |
| errCode    | String  | 否   | -        | 错误码（失败时返回）           |        |
| errMessage | String  | 否   | -        | 错误信息（失败时返回）         |        |
| data       | boolean | 否   | -        | 响应数据 (ActualType: Boolean) |        |

#### 响应示例

```
{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": false
}
```

#### 错误码

无

### 获取摄像头快照

维护人：TG Live

#### URL

- 本地开发环境: `GET` http://localhost:10050/api/admin/cameras/snapshot
- 开发环境: `GET` https://tg-live-game.pwtk.cc/api/admin/cameras/snapshot

描述：获取摄像头快照

ContentType：`application/x-www-form-urlencoded;charset=UTF-8`

#### 请求参数

##### Query Parameter

| 名称 | 类型  | 必填 | 最大长度 | 描述          | 示例值 |
| ---- | ----- | ---- | -------- | ------------- | ------ |
| id   | int64 | 是   | -        | 摄像头主键 ID | 1      |

#### 响应参数

| 名称       | 类型          | 必填 | 最大长度 | 描述                        | 示例值 |
| ---------- | ------------- | ---- | -------- | --------------------------- | ------ |
| success    | Boolean       | 否   | -        | 请求是否成功                | true   |
| errCode    | String        | 否   | -        | 错误码（失败时返回）        |        |
| errMessage | String        | 否   | -        | 错误信息（失败时返回）      |        |
| data       | array         | 否   |          | 响应数据 (ActualType: byte) |        |
| └ -        | array[byte[]] | 否   | -        | array of byte[]             |        |

#### 响应示例

```
{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": [
        {
            " -": ""
        }
    ]
}
```

#### 错误码

无

### PTZ 控制

维护人：TG Live

#### URL

- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/ptz
- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/ptz

描述：PTZ 控制

ContentType：`application/json`

#### 请求参数

##### Body Parameter

| 名称   | 类型   | 必填 | 最大长度 | 描述             | 示例值 |
| ------ | ------ | ---- | -------- | ---------------- | ------ |
| id     | Long   | 否   | -        | 摄像头 ID        | 1      |
| action | String | 否   | -        | PTZ 动作         | UP     |
| speed  | Float  | 否   | -        | 速度 (0.0 - 1.0) | 0.5    |

#### 请求示例

```
{
    "id": 1,
    "action": "UP",
    "speed": 0.5
}
```

#### 响应参数

| 名称       | 类型    | 必填 | 最大长度 | 描述                           | 示例值 |
| ---------- | ------- | ---- | -------- | ------------------------------ | ------ |
| success    | Boolean | 否   | -        | 请求是否成功                   | true   |
| errCode    | String  | 否   | -        | 错误码（失败时返回）           |        |
| errMessage | String  | 否   | -        | 错误信息（失败时返回）         |        |
| data       | boolean | 否   | -        | 响应数据 (ActualType: Boolean) |        |

#### 响应示例

```
{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": false
}
```

#### 错误码

无

### 获取摄像头预置位列表

维护人：TG Live

#### URL

- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/presetList
- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/presetList

描述：获取摄像头预置位列表

ContentType：`application/x-www-form-urlencoded;charset=UTF-8`

#### 请求参数

##### Query Parameter

| 名称    | 类型  | 必填 | 最大长度 | 描述           | 示例值 |
| ------- | ----- | ---- | -------- | -------------- | ------ |
| id      | int64 | 是   | -        | 摄像头主键 ID  | 1      |
| channel | int32 | 否   | -        | 通道号（可选） | 1      |

#### 响应参数

| 名称       | 类型    | 必填 | 最大长度 | 描述                          | 示例值 |
| ---------- | ------- | ---- | -------- | ----------------------------- | ------ |
| success    | Boolean | 否   | -        | 请求是否成功                  | true   |
| errCode    | String  | 否   | -        | 错误码（失败时返回）          |        |
| errMessage | String  | 否   | -        | 错误信息（失败时返回）        |        |
| data       | string  | 否   | -        | 响应数据 (ActualType: String) |        |

#### 响应示例

```
{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": "string"
}
```

#### 错误码

无

### 获取摄像头设备信息

维护人：TG Live

#### URL

- 本地开发环境: `POST` http://localhost:10050/api/admin/cameras/deviceInfo
- 开发环境: `POST` https://tg-live-game.pwtk.cc/api/admin/cameras/deviceInfo

描述：获取摄像头设备信息

ContentType：`application/x-www-form-urlencoded;charset=UTF-8`

#### 请求参数

##### Query Parameter

| 名称 | 类型  | 必填 | 最大长度 | 描述          | 示例值 |
| ---- | ----- | ---- | -------- | ------------- | ------ |
| id   | int64 | 是   | -        | 摄像头主键 ID | 1      |

#### 响应参数

| 名称       | 类型    | 必填 | 最大长度 | 描述                          | 示例值 |
| ---------- | ------- | ---- | -------- | ----------------------------- | ------ |
| success    | Boolean | 否   | -        | 请求是否成功                  | true   |
| errCode    | String  | 否   | -        | 错误码（失败时返回）          |        |
| errMessage | String  | 否   | -        | 错误信息（失败时返回）        |        |
| data       | string  | 否   | -        | 响应数据 (ActualType: String) |        |

#### 响应示例

```
{
    "success": true,
    "errCode": "string",
    "errMessage": "string",
    "data": "string"
}
```

#### 错误码

无
