# army **Repository Path**: SignalEmit/army ## Basic Information - **Project Name**: army - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-19 - **Last Updated**: 2025-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # http相关 走http+json模式 注意后台接口除了login之外其他接口都要加Authorization鉴权header ## 用户操作 ### 登录 | **功能说明** | 用户登录 | | ------------ | ------------------ | | 路由 | POST /api/v1/login | **发送** ```json { "account":"admin", "password":"e6e061838856bf47e1de730719fb2609" } ``` | **参数** | **类型** | **描述** | | -------- | ------------------ | -------- | | account | string | 账号 | | password | string 密码md5加密 | 密码 | **回复** ``` { "state": true, "message": "登录成功", "data": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjIsInVzZXJuYW1lIjoiYWRtaW4iLCJ0aW1lIjoiMjAyNS0wMy0yNSAxNDoxNDoyNiIsImlhdCI6MTc0Mjg4MzI2NiwiZXhwIjoxNzQyODg0NDY2fQ.Z3yvd3oZNgFDzQtAK3EQOclltINPQkZwSheIriE_DvA", "expires": 120000, "user_info":{ "name":"张三", "role":"管理员", "role_info":{ } } } } ``` | **参数** | **类型** | **描述** | | ------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->token | string | 返回得token | | data->expires | int | 过期时间 秒级 | ### 刷新token | **功能说明** | 刷新token | | ------------ | ------------------------------------ | | 路由 | GET /api/v1/user/token/refresh | | 建议 | 建议该接口调用频率为expires/2 + 10秒 | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": "刷新成功", "data": { "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjIsInVzZXJuYW1lIjoiYWRtaW4iLCJ0aW1lIjoiMjAyNS0wMy0yNSAxNDoxNDoyNiIsImlhdCI6MTc0Mjg4MzI2NiwiZXhwIjoxNzQyODg0NDY2fQ.Z3yvd3oZNgFDzQtAK3EQOclltINPQkZwSheIriE_DvA", "expires": "20m" } } ``` | **参数** | **类型** | **描述** | | ------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->token | string | 返回得token | | data->expires | string | 过期时间 数字+单位 s=秒 m=分钟 h=小时 | ### 获取用户列表 | **功能说明** | 获取用户列表 | | ------------ | --------------------- | | 路由 | GET /api/v1/user/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": "", "data": [ { "id":111, "account": "testUser123", "password": "Test@1234", "role": "测试", "organization": "测试单位", "title": "测试工程师", "name": "测试用户", "status": "未锁定", "email": "test.user@example.com", "phone": "13800138000", "createdAt":"2024-01-01 00:00:00" } ] } ``` | **参数** | **类型** | **描述** | | ---------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->id | int | 账号标识 | | data->[]->account | string | 账号 | | data->[]->password | string | 密码 长度大于6 | | data->[]->role | string | 角色 | | data->[]->organization | string | 组织 | | data->[]->title | string | 职称 | | data->[]->name | string | 名称 | | data->[]->status | string | 分为锁定 和未锁定 | | data->[]->email | string | 邮箱 | | data->[]->phone | string | 电话 | ### 用户操作(新增修改) | **功能说明** | 用户操作 | | ------------ | ------------------------ | | 路由 | POST /api/v1/user/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id":111, "account": "testUser123", "password": "Test@1234", "role": "测试", "organization": "测试单位", "title": "测试工程师", "name": "测试用户", "status": "未锁定", "email": "test.user@example.com", "phone": "13800138000" } ``` | **参数** | **类型** | **描述** | | ------------ | -------- | ------------------------------------ | | id | int | 用户id 若存在是修改 不存在则为新增 | | account | string | 账号 | | password | string | 密码 长度大于6 | | role | string | 角色 | | organization | string | 组织 | | title | string | 职称 | | name | string | 名称 | | status | string | 分为锁定 和未锁定 | | email | string | 邮箱 | | phone | string | 电话 | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 用户删除 | **功能说明** | 用户删除 | | ------------ | ------------------------ | | 路由 | POST /api/v1/user/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ 1,2,3 ] ``` | **参数** | **类型** | **描述** | | -------- | -------- | -------- | | [] | int | 用户id | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 角色列表查询 | **功能说明** | 角色列表查询 | | ------------ | -------------------------- | | 路由 | GET /api/v1/user/role/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": "", "data": [ { "role_name":"操作员", "role_info": { } } ] } ``` | **参数** | **类型** | **描述** | | ------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->role_name | string | 角色名称 **唯一不重复** | | data->[]->role_info | json | 角色权限 | ### 角色操作(新增修改) | **功能说明** | 角色操作 | | ------------ | ----------------------------- | | 路由 | POST /api/v1/user/role/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "role_name":"操作员", "role_info": { } } ``` | **参数** | **类型** | **描述** | | --------- | -------- | -------- | | role_name | string | 角色名称 | | role_info | string | 角色信息 | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 用户删除 | **功能说明** | 用户删除 | | ------------ | ----------------------------- | | 路由 | POST /api/v1/user/role/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ "xxx操作员" ] ``` | **参数** | **类型** | **描述** | | -------- | -------- | -------- | | [] | string | 角色名称 | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ## 设备模型 ### 列表查询 | **功能说明** | 列表查询 | | ------------ | ----------------------- | | 路由 | GET /api/v1/device/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ```json { "state": true, "message": "", "data": [ { "id": 111, "name": "asd", "ip":"127.0.0.1", "port":5555, "type":"xxxx", "description":"测试设备", "image":"base64", "factory":"wl", "model":"test111", "status":true } ] } ``` | **参数** | **类型** | **描述** | | --------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->id | int | 设备id | | data->[]->name | string | 设备名称 | | data->[]->ip | string | 设备ip | | data->[]->port | int | 设备端口 | | data->[]->type | string | 设备类型 | | data->[]->description | string | 描述 | | data->[]->factory | string | 厂家 | | data->[]->model | string | 型号 | | data->[]->image | string | 图片 base64 | | data->[]->status | bool | true - 在线 false-离线 | ### 设备厂家型号查询 | **功能说明** | 列表查询 | | ------------ | --------------------------------------- | | 路由 | GET /api/v1/device/manufacturers/models | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ```json { "state": true, "message": "", "data": [ { "type":"切换器", "devices":[ { "factory":"厂家", "model":[ "xxx", "333", "444" ] }, { "factory":"厂家2", "model":[ "xxx", "333", "444" ] } ] }, { "type":"解码器", "devices":[ { "factory":"厂家", "model":[ "xxx", "333", "444" ] }, { "factory":"厂家2", "model":[ "xxx", "333", "444" ] } ] } ] } ``` | **参数** | **类型** | **描述** | | ---------------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->type | string | 类型 | | data->[]->devices->factory | string | 厂家 | | data->[]->devices->model->[] | string | 型号 | ### 设备操作(新增修改) | **功能说明** | 设备操作 | | ------------ | -------------------------- | | 路由 | POST /api/v1/device/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ```json { "id": 111, "name": "asd", "ip":"127.0.0.1", "port":5555, "type":"xxxx", "description":"测试设备", "image":"base64", "factory":"wl", "model":"test111" } ``` | **参数** | **类型** | **描述** | | ----------- | -------- | ------------------------------------------------------------ | | id | int | 设备id 新增不传id。修改传id | | name | string | 设备名称 | | ip | string | 设备ip | | port | int | 设备端口 | | type | string | 设备类型 | | description | string | 描述 | | image | string | 图片 base64 图片这个节点可以传空 只存在在修改得时候 不传认为不更新 | | factory | string | 厂家 | | model | string | 型号 | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 设备删除 | **功能说明** | 设备删除 | | ------------ | -------------------------- | | 路由 | POST /api/v1/device/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ 1,2,3 ] ``` | **参数** | **类型** | **描述** | | -------- | -------- | -------- | | [] | int | 用户id | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ## 信号质量 ### 列表查询 | **功能说明** | 列表查询 | | ------------ | ----------------------- | | 路由 | GET /api/v1/signal/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ```json { "state": true, "message": "", "data": [ { "id": 111, "name": "asd", "ip":"127.0.0.1", "port":5555, "type":"xxxx", "description":"测试设备", "factory":"wl", "model":"test111", "status":true } ] } ``` | **参数** | **类型** | **描述** | | --------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->id | int | 设备id | | data->[]->name | string | 设备名称 | | data->[]->ip | string | 设备ip | | data->[]->port | int | 设备端口 | | data->[]->type | string | 设备类型 | | data->[]->description | string | 描述 | | data->[]->factory | string | 厂家 | | data->[]->model | string | 型号 | | data->[]->status | bool | true - 在线 false-离线 | ### 设备厂家型号查询 | **功能说明** | 列表查询 | | ------------ | --------------------------------------- | | 路由 | GET /api/v1/signal/manufacturers/models | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ```json { "state": true, "message": "", "data": [ { "type":"切换器", "devices":[ { "factory":"厂家", "model":[ "xxx", "333", "444" ] }, { "factory":"厂家2", "model":[ "xxx", "333", "444" ] } ] }, { "type":"解码器", "devices":[ { "factory":"厂家", "model":[ "xxx", "333", "444" ] }, { "factory":"厂家2", "model":[ "xxx", "333", "444" ] } ] } ] } ``` | **参数** | **类型** | **描述** | | ---------------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->type | string | 类型 | | data->[]->devices->factory | string | 厂家 | | data->[]->devices->model->[] | string | 型号 | ### 设备操作(新增修改) | **功能说明** | 设备操作 | | ------------ | -------------------------- | | 路由 | POST /api/v1/signal/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ```json { "id": 111, "name": "asd", "ip":"127.0.0.1", "port":5555, "type":"xxxx", "description":"测试设备", "factory":"wl", "model":"test111" } ``` | **参数** | **类型** | **描述** | | ----------- | -------- | ---------------------------- | | id | int | 设备id 新增不传id。修改传id | | name | string | 设备名称 | | ip | string | 设备ip | | port | int | 设备端口 | | type | string | 设备类型 | | description | string | 描述 | | factory | string | 厂家 | | model | string | 型号 | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 设备删除 | **功能说明** | 设备删除 | | ------------ | -------------------------- | | 路由 | POST /api/v1/signal/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ 1,2,3 ] ``` | **参数** | **类型** | **描述** | | -------- | -------- | -------- | | [] | int | 用户id | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ## 多画面模型 ### 网卡信息获取 | **功能说明** | 网卡获取 | | ------------ | -------------------- | | 路由 | GET /api/v1/net/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ```json { "state": true, "message": "", "data": [ "192.168.1.1", "192.168.2.1" ] } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[] | string | ip | ### 流列表查询 | **功能说明** | 流列表查询 | | ------------ | ----------------------- | | 路由 | GET /api/v1/stream/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ```json { "state": true, "message": "", "data": [ { "id": 111, "name":"cctv1", "delay":1000, "url":"udp://244.2.2.2:5000", "net_interface":"192.168.1.100", "service_id":101 }, { "id": 222, "name":"cctv1", "delay":1000, "url":"udp://244.2.2.2:5000", "net_interface":"192.168.1.100", "service_id":101 } ] } ``` | **参数** | **类型** | **描述** | | ------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | id | int | 流id | | name | string | 名称 | | delay | int | 信源延时 毫秒 | | url | string | 流url | | net_interface | string | 绑定得网卡 | | service_id | number | 节目id | ### 流操作(新增修改) | **功能说明** | 流操作 | | ------------ | -------------------------- | | 路由 | POST /api/v1/stream/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id": 111, "name":"cctv1", "delay":1000 "url":"udp://244.2.2.2:5000", "net_interface":"192.168.1.100", "service_id":101 } ``` | **参数** | **类型** | **描述** | | ------------- | -------- | ------------------------------------ | | id | int | 用户id 若存在是修改 不存在则为新增 | | name | string | 名称 | | delay | int | 信源延时 毫秒 | | url | string | 流url | | net_interface | string | 绑定得网卡 | | service_id | number | 节目id | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 流删除 | **功能说明** | 流删除 | | ------------ | -------------------------- | | 路由 | POST /api/v1/stream/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ 1,2,3 ] ``` | **参数** | **类型** | **描述** | | -------- | -------- | -------- | | [] | int | 流id | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ## 转码模型 ### 转码流列表查询 | **功能说明** | 转码流列表查询 | | ------------ | ----------------------------- | | 路由 | POST /api/v1/transcoding/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10 } ``` **回复** ```json { "state": true, "message": "", "data":{ "page":{ "now_page":1, "total_count":100 }, "list": [ { "id": "123sxsadqwe", "name":"cctv1", "url":"udp://244.2.2.2:5000", "net_interface":"192.168.1.100", "record_path":"D:/record/1", "video":{ "codec":"H.264", "resolution":"1080P" }, "audio":{ "codec":"AAC", "delay":5000, "gain":false, "depth":8 }, "out_format":"TS", "state":"正在运行", "state_info":"转码90%" } ] } } ``` | **参数** | **类型** | **描述** | | --------------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->id | int | 流id | | data->[]->name | string | 名称 | | data->[]->url | string | 流url | | data->[]->net_interface | string | 绑定得网卡 | | data->[]->record_path | string | 录像路径 | | data->[]->video->code | string | 编码H.264、H.265、AVS、MPEG-2、MPEG-4 | | data->[]->video->resolution | string | 1080P 720P 480P 360P | | audio->codec | string | AAC、AC3、DTS | | audio->delay | int | 音频时延毫秒级 eg:延时500 默认0 | | audio->**gain** | bool | 音频增益 默认false | | auduio->depth | int | 音频位深 8 16 24 32 | | out_format | string | 输出格式 TS、MPG、MP4、AVI、MKV、M2TS、MOV、WAV、MP3、 ACC | | state | string | 运行状态 只有查询得时候会带,新增得时候无需填写 | ### 转码流操作(新增修改) | **功能说明** | 转码流操作 | | ------------ | ------------------------------- | | 路由 | POST /api/v1/transcoding/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ```json { "id": "123sxsadqwe", "name":"cctv1", "url":"udp://244.2.2.2:5000", "net_interface":"192.168.1.100", "record_path":"D:/record/1", "video":{ "codec":"H.264", "resolution":"1080P" }, "audio":{ "codec":"AAC", "delay":5000, "gain":false, "depth":8, "smooth":true }, "out_format":"TS" } ``` | **参数** | **类型** | **描述** | | ----------------- | -------- | ---------------------------------------------------------- | | id | int | 流id 新增不传入id | | name | string | 名称 | | url | string | 流url | | net_interface | string | 绑定得网卡 复用多画面模型->网卡信息获取 | | record_path | string | 录像路径 | | video->codec | string | 编码H.264、H.265、AVS、MPEG-2、MPEG-4 | | video->resolution | string | 4K,1080P 720P 480P 360P | | audio->codec | string | AAC、AC3、DTS | | audio->delay | int | 音频时延毫秒级 eg:延时500 默认0 | | audio->**gain** | bool | 音频增益 默认false | | auduio->depth | int | 音频位深 8 16 24 32 | | out_format | string | 输出格式 TS、MPG、MP4、AVI、MKV、M2TS、MOV、WAV、MP3、 ACC | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 转码流删除 | **功能说明** | 流删除 | | ------------ | ------------------------------- | | 路由 | POST /api/v1/transcoding/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ "123sxsadqwe" ] ``` | **参数** | **类型** | **描述** | | -------- | -------- | -------- | | [] | int | 流id | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ## 多画面展示 ### 布局保存 | **功能说明** | 布局保存 | | ------------ | -------------------------------------- | | 路由 | POST /api/v1/multiscreen/template/save | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ```json { "id":1111, "name":"cctv1", "template":{ "size":{ "width":6, "height":6 }, "data":[ { "x":0, "y":0, "stream":2 }, { "x":0, "y":1, "stream":3 } ] } } ``` | **参数** | **类型** | **描述** | | -------------------------- | -------- | ----------------------------------------- | | id | int | 布局id 不发送认为是新增, 带了认为是修改 | | name | string | 模板名称 | | template | object | 模板 | | template->size | object | width 长 height 宽 | | template->data->[]->x | int | 长 | | template->data->[]->y | int | 宽 | | template->data->[]->stream | number | 里边得流是啥 | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 布局应用 | **功能说明** | 布局应用 | | ------------ | --------------------------------------- | | 路由 | POST /api/v1/multiscreen/template/apply | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ```json { "id":1111, "name":"xxx", "template":{ "size":{ "width":6, "height":6 }, "data":[ { "x":0, "y":0, "stream":2 }, { "x":0, "y":1, "stream":3 } ] } } ``` | **参数** | **类型** | **描述** | | -------------------------- | -------- | ----------------------------------------- | | id | int | 布局id 不发送认为是新增, 带了认为是修改 | | name | string | 模板名称 | | template | object | 模板 | | template->size | object | width 长 height 宽 | | template->data->[]->x | int | 长 | | template->data->[]->y | int | 宽 | | template->data->[]->stream | number | 里边得流是啥 | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 布局列表查询 | **功能说明** | 布局列表查询 | | ------------ | ------------------------------------- | | 路由 | GET /api/v1/multiscreen/template/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ```json { "state": true, "message": "", "data": [ { "id": 1111, "apply": true, "template": { "size": { "width": 6, "height": 6 }, "data": [ { "x": 0, "y": 0, "stream": 2 }, { "x": 0, "y": 1, "stream": 3 } ] } }, { "id": 222, "apply": true, "template": { "size": { "width": 6, "height": 6 }, "data": [ { "x": 0, "y": 0, "stream": 2 }, { "x": 0, "y": 1, "stream": 3 } ] } } ] } ``` | **参数** | **类型** | **描述** | | -------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->apply | bool | 一个列表里只会存在一个true 剩余都是false | | 其他字段参照上面声明 | | | ### 删除布局 | **功能说明** | 删除布局 | | ------------ | ---------------------------------------- | | 路由 | POST /api/v1/multiscreen/template/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id":111 } ``` | **参数** | **类型** | **描述** | | -------- | -------- | -------- | | id | int | 布局id | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ## 音视频比对配置 ### 设置比对任务 比对设置属于是全量任务,编辑时需将所有得协议全部下发 | **功能说明** | 比对任务下发 | | ------------ | ---------------------------- | | 路由 | POST /api/v1/compare/setting | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ { "name":"cctv1比对", "master":111, "slave":[ 222, 333, 444 ] }, { "id":111 "name":"cctv2比对", "master":555, "slave":[ 666, 777, 888 ] } ] ``` | **参数** | **类型** | **描述** | | ----------- | -------- | ------------------------------------- | | []->id | int | id 不发送认为是新增, 带了认为是修改 | | []->name | string | 比对任务名称 | | []->master | int | 基准 | | []->slave[] | int | 非基准得其他比对组 | **回复** ``` { // true请求成功 "state":true, "message":null, "data":{ } } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### **比对任务查询** | **功能说明** | 比对任务查询 | | ------------ | ------------------------- | | 路由 | POST /api/v1/compare/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data": [ { "id":12345, "name": "cctv1比对", "master": 111, "slave": [ 222, 333, 444 ] }, { "id":67890 "name": "cctv2比对", "master": 555, "slave": [ 666, 777, 888 ] } ] } ``` 回执协议与设置相同 ## 码流比对配置 ### 码流比对任务 比对设置属于是全量任务,编辑时需将所有得协议全部下发 | **功能说明** | 比对任务下发 | | ------------ | -------------------------------------- | | 路由 | POST /api/v1/bitstream/compare/setting | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ { "name":"cctv1比对", "master":111, "slave":[ 222, 333, 444 ] }, { "id":111 "name":"cctv2比对", "master":555, "slave":[ 666, 777, 888 ] } ] ``` | **参数** | **类型** | **描述** | | ----------- | -------- | ------------------------------------- | | []->id | int | id 不发送认为是新增, 带了认为是修改 | | []->name | string | 比对任务名称 | | []->master | int | 基准 | | []->slave[] | int | 非基准得其他比对组 | **回复** ``` { // true请求成功 "state":true, "message":null, "data":{ } } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### **比对任务查询** | **功能说明** | 比对任务查询 | | ------------ | ---------------------------------- | | 路由 | GET /api/v1/bitstream/compare/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data": [ { "id":12345, "name": "cctv1比对", "master": 111, "slave": [ 222, 333, 444 ] }, { "id":67890 "name": "cctv2比对", "master": 555, "slave": [ 666, 777, 888 ] } ] } ``` 回执协议与设置相同 ## 码流播放 | 功能说明 | rtc码流播放 | | -------- | ---------------------------- | | 路由 | POST /api/v1/stream/rtc/play | **发送** ``` { "stream_path":"live/111",     "sdp":{ "type":"offer", "sdp":"xxxx" } } ``` | **参数** | **类型** | **描述** | | -------- | -------- | -------------- | | path | string | 码流的唯一标识 | | sdp | object | 本地Sdp | **回复** ``` { "state":true, "desc":"成功",    "data":{   "sdp": { "type":"answer", "sdp":"xxxx" } } } ``` | **参数** | **类型** | **描述** | | ---------- | -------- | ------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | desc | string | State返回false时里边描述的时错误信息 | | Data-> sdp | object | Sdp 推流 answer | ## 音视频模型 ### 获取模型 | **功能说明** | 设备指标展示 | | ------------ | ------------------------- | | 路由 | GET /api/v1/compare/model | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "error": "", "data": [ { "id": 111, "name": "cctv1", "master": { "stream_id": 222, "name": "cctv2", }, "slave": [ { "stream_id": 3333, "name": "cctv3", "delay": 10, "similarity": 0.0, } ] } ] } ``` ## 设备实时指标展示 ### 设备实时指标展示 | **功能说明** | 设备指标展示 | | ------------ | ------------------------------- | | 路由 | GET /api/v1/link/quality?id=111 | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** 注意数据展示时 main中数据展示 name value+unit eg: 入射功率:1000w other为平铺数据不包含告警等 eg: +22v:100w ```json { "state": true, "error": "", "data": { "main": { "outpower": { "value": 1000, "alarm": false, "name":"入射功率", "unit":"W", "module":"模块" }, "com_state":false, "time":"2025-04-16 22:00:26" }, "other": { "+22v": "100w", "-22v": "30w" } } } ``` | **参数** | **类型** | **描述** | | ------------------------ | ---------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->main->[key]->value | int/string | 指标数据 | | data->main->[key]->alarm | bool | true->告警 false->未告警 | | data->main->[key]->name | string | 名称 | | data->main->[key]->unit | string | 单位 | | data->other->[] | key->value | 数据均为key value形式直接展示就行 | ### 设备控制 | **功能说明** | 设备控制 | | ------------ | ------------------------- | | 路由 | POST /api/v1/link/control | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id":111, "control":[ { "type":"xxx", "value":"OFF" } ] } ``` | **参数** | **类型** | **描述** | | ------------------ | -------- | ------------------------------------------------------------ | | id | int | 设备id | | control->[]->type | string | 控制类型 调制器射频开关 - rfout 功放开关 - switch 输入码流选择-input | | control->[]->value | 任意类型 | rfout 对应的开关 ON OFF 。 switch 对应的开关 ON OFF 。 input对应 ASI1 ASI2 IP AUTO | **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 调制器开关/功放开关指标获取 | **功能说明** | 调制器开关/功放开关指标获取 | | ------------ | --------------------------------------------- | | 路由 | GET /api/v1/device/control/parameters/quality | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": "", "data":[ { "id":111, "type":"调制器", "switch_name":"射频开关", "device_name":"调制器111", "switch":true, "input":"ASI1" } ] } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 根据卫星接收机cn值切换dvb smode | **功能说明** | 根据卫星接收机cn值切换dvb smode | | ------------ | -------------------------------------------- | | 路由 | POST /api/v1/device/control/handoff/dvbsmode | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "dvbs_mode_handoff":{ // 卫星接收机cn数值 "satellitereceiver_cn_value":{ "min":10, "max":20 }, // 调制器dvbs模式 "modulatordemodulator_dvbs_mode":{ "min":"1/4", "max":"10/11" } } } ``` **回复** ``` { "state": true, "message": "", "data":null } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 获取卫星接收机cn值切换dvbs mode | **功能说明** | 根据卫星接收机cn值切换dvbs mode | | ------------ | ------------------------------------------------- | | 路由 | GET /api/v1/device/control/handoff/dvbsmode/get | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": "", "data":{ "dvbs_mode_handoff":{ // 卫星接收机cn数值 "satellitereceiver_cn_value":{ "min":10, " max":20 }, // 调制器dvbs模式 "modulatordemodulator_dvbs_mode":{ "min":"1/4", "max":"10/11" } } } } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ## 码流模型 ### 获取码流模型 | **功能说明** | 码流列表查询 | | ------------ | ----------------------------------- | | 路由 | GET /api/v1/bitstream/compare/model | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data": [ { "id":111, "name":"cctv1比对" "streams":[ { "stream_id":222, "name":"cctv1" }, { "stream_id":333, "name":"cctv1-控收" } ] }, { "id":111, "name":"cctv2" "streams":[ { "stream_id":222, "name":"cctv1" }, { "stream_id":333, "name":"cctv1-控收" } ] } ] } ``` ### 码流数据展示 | **功能说明** | 码流数据获取 | | ------------ | ---------------------------------------------------------- | | 路由 | GET /api/v1/bitstream/stream/quality?id=111 //id是节目id | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data": [ { "stream_id": 111, "quality": { "other":{ "节目名称":"cctv1", "音频pid":49, "视频pid":50 }, "status": [ { "name": "PAT错误", "alarm": false }, { "name": "PAT错误", "alarm": false } } } } ] } ``` | **参数** | **类型** | **描述** | | ----------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->model | string | 模块 表头 | | data->[]->data[]->name | string | 指标名称 | | data->[]->data[]->value | bool | true - 红色 false-绿色 | ### 获取PSI/SI表格 | **功能说明** | 码流数据获取 | | ------------ | --------------------------------------------------------- | | 路由 | GET /api/v1/bitstream/stream/psi_si?id=111 //id是节目id | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data": [ { "label":"psi", "children":[ { "lable":"xxx", "children":[] } ] }, { "label":"si", "children":[ { "lable":"xxx", "children":[] } ] } ] } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | label | string | 标签 | | children | string | 子标签 | ### 历史码流数据查询 | **功能说明** | 码流数据获取 | | ------------ | ------------------------------------- | | 路由 | POST /api/v1/bitstream/stream/history | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10 "filter":{ "stream_id":1, "start_time":"2025-01-01 00:00:00", "end_time":"2025-01-01 00:00:00" } } ``` **回复** ``` { "state": true, "message": null, "data": [ { "stream_id": 2, "time":"2025-01-01 00:00:00" "table": [ { "label": "psi", "children": [ { "lable": "xxx", "children": [ ] } ] }, { "label": "si", "children": [ { "lable": "xxx", "children": [ ] } ] } ], "quality": { "other": { "xxx": "xxx", "ai": "test" }, "status": [ { "name": "视频丢失", "alarm": false }, { "name": "黑场故障", "alarm": false }, { "name": "音量过低", "alarm": false }, { "name": "音量过高", "alarm": false }, { "name": "音画不同步", "alarm": false }, { "name": "视频卡顿", "alarm": false }, { "name": "音频卡顿", "alarm": false }, { "name": "视频花屏", "alarm": false }, { "name": "PAT错误", "alarm": false }, { "name": "PMT错误", "alarm": false }, { "name": "码流中断", "alarm": false }, { "name": "传输错误", "alarm": false }, { "name": "连续计数错", "alarm": false }, { "name": "PCR间隔错误", "alarm": false } ] } } ] } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | label | string | | ## 资源展示 | **功能说明** | 资源展示获取资源 | | ------------ | ------------------- | | 路由 | GET /api/v1/sources | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data": { "count":{ "device":10, "stream":20, "compare":30, "bitstream_compare":40 }, "sources_use":[ { "name":"卫星接收机", "count":10 }, { "name":"调制器", "count":20 } ], "sources_status":{ "online":60, "offline":40 } } } ``` | **参数** | **类型** | **描述** | | ------------------------------ | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->count->device | int | 设备个数 | | data->count->stream | int | 流个数 | | data->count->compare | int | 视频比对 | | data->count->bitstream_compare | int | 码流比对 | | data->sources_use->[]->name | string | 名称 | | data->sources_use->[]->count | int | 个数 | | data->sources_status->online | int | 百分比 0-100 eg:60 60% | | data->sources_status->offline | int | 百分比 0-100 eg:40 40% | ## 日志 ### 查看 ``` POST /api/v1/log/list ``` **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | 前端发送 ```json { "page":1, "show_size":10 } ``` | 参数 | 类型 | 描述 | | --------- | ---- | ---------------- | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | **回复** ```json { "state":true, "message":null, "data":{ "page":{ "now_page":1, "total_count":100 }, "control_info":[ { "user":"admin", "type":"管理员", "ip":"192.168.1.1", "time":"2022-01-01 00:00:00", "message":"xxxx" } ] } } ``` | 参数 | 类型 | 描述 | | ------------------------- | ------ | -------- | | page->now_page | int | 当前页码 | | page->total_count | int | 总页码数 | | control_info->[]->time | string | 时间 | | control_info->[]->message | string | 操作信息 | | control_info->[]->user | string | 用户 | | control_info->[]->type | string | 用户类型 | | control_info->[]->ip | string | 主机ip | ### 导出 **协议** ``` HTTP+JSON ``` **路由** ``` GET /api/v1/log/export ``` **回复** ``` 具体文件内容直接存blob导出 若失败则会回复 { "state":false, "message":"失败", "data":{ } } ``` ## 系统设置 ### 导出配置 **协议** ``` HTTP+JSON ``` **路由** ``` GET /api/v1/system/config/export ``` **回复** ``` 具体文件内容直接存blob导出 若失败则会回复 { "state":false, "message":"失败", "data":{ } } ``` ### 配置恢复 **协议** ``` HTTP+JSON ``` **路由** ``` POST /api/v1/system/config/recover ``` form-data 传入file 文件是zip格式 **回复** ``` { "state":false, "message":"失败", "data":{ } } ``` ## 指标查询 ### 指标模型列表查询 | **功能说明** | 列表查询 | | ------------ | ------------------------------ | | 路由 | GET /api/v1/quality/model/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ```json { "state": true, "message": "", "data": [ { "id": 111, "name": "asd", "type":"xxxx" } ] } ``` | **参数** | **类型** | **描述** | | -------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->id | int | 设备id | | data->[]->name | string | 设备名称 | | data->[]->type | string | 设备类型 | ### 指标查询 | **功能说明** | 指标查询 | | ------------ | ------------------------- | | 路由 | POST /api/v1/quality/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "filter":{ "device_type":"卫星接收机", ”device_id":111, "start_time":"2024-01-01 00:00:00", "end_time":"2025-01-01 00:00:00" } } ``` | 参数 | 类型 | 描述 | | ------------------- | -------------- | ------------------------------------------- | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | | filter->device_type | string | 设备类型 | | filter->device_id | int 或 null | 设备id | | filter->start_time | string 或 null | 开始时间, 如果是null或者不存在则认为是全查 | | filter->end_time | string 或 null | 结束时间,如果是null或者不存在则认为是全查 | **回复** ``` { "state": true, "message": null, "data":{ "page":{ "now_page":1, "total_count":100 }, "list":[ { "device_id": 1, "device_name": "调制器", "device_type": "调制器", "device_quality": { "main": { "system_status": { "name": "系统工作状态", "alarm": false, "value": "系统异常" } }, "other": { "符号率": "0M", "频率参考源": "异常" } }, "time": "2025-06-16 10:41:52" } } ] } } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 导出 | **功能说明** | 指标导出 | | ------------ | ---------------------------- | | 路由 | POST /api/v1/quality/export | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "filter":{ "device_type":"卫星接收机", ”device_id":111, "start_time":"2024-01-01 00:00:00", "end_time":"2025-01-01 00:00:00" } } ``` | 参数 | 类型 | 描述 | | ------------------- | -------------- | ------------------------------------------- | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | | filter->device_type | string | 设备类型 | | filter->device_id | int 或 null | 设备id | | filter->start_time | string 或 null | 开始时间, 如果是null或者不存在则认为是全查 | | filter->end_time | string 或 null | 结束时间,如果是null或者不存在则认为是全查 | **回复** ``` 具体文件内容直接存blob导出 若失败则会回复 { "state":false, "message":"失败", "data":{ } } ``` ### 通过科目id-指标查询 | **功能说明** | 指标查询 | | ------------ | --------------------------------- | | 路由 | POST /api/v1/quality/list/by/task | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "filter":{ "device_type":"卫星接收机", "task_id":111, ”device_id":111, "start_time":"2024-01-01 00:00:00", "end_time":"2025-01-01 00:00:00" } } ``` | 参数 | 类型 | 描述 | | ------------------- | -------------- | ------------------------------------------- | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | | filter->device_type | string | 设备类型 | | filter->task_id | int 或null | 科目id | | filter->device_id | int 或 null | 设备id | | filter->start_time | string 或 null | 开始时间, 如果是null或者不存在则认为是全查 | | filter->end_time | string 或 null | 结束时间,如果是null或者不存在则认为是全查 | **回复** ``` { "state": true, "message": null, "data":{ "page":{ "now_page":1, "total_count":100 }, "list":[ { "device_id": 1, "task_id":1, "device_name": "调制器", "device_type": "调制器", "device_quality": { "main": { "system_status": { "name": "系统工作状态", "alarm": false, "value": "系统异常" } }, "other": { "符号率": "0M", "频率参考源": "异常" } }, "time": "2025-06-16 10:41:52" } } ] } } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ## 告警查询 ### 告警查询资源 | **功能说明** | 告警类型查询 | | ------------ | ------------------------------- | | 路由 | GET /api/v1/alarm/query/sources | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data": [ { "model_type":"设备", "alarm_type":[ "xxx", "xxx1" ], "model":[ { "name":"cctv1", "id":222 } ] }, { "model_type":"音视频", "alarm_type":[ "xxx", "xxx1" ], "model":[ { "name":"cctv1", "id":222 } ] } ] } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 告警查询 | **功能说明** | 告警查询 | | ------------ | ----------------------- | | 路由 | POST /api/v1/alarm/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "filter":{ "model_type":"设备", "model_id":111, "alarm_type":"音频丢失", "start_time":"2024-01-01 00:00:00", "end_time":"2025-01-01 00:00:00" } } ``` | 参数 | 类型 | 描述 | | ------------------ | -------------- | --------------------------------------------------------- | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | | filter->alarm_type | string | 告警类型,如果是null或者不存在则认为是全查 | | filter->status | string或 null | 状态 "未处理" "已处理",如果是null或者不存在则认为是全查 | | filter->start_time | string 或 null | 开始时间, 如果是null或者不存在则认为是全查 | | filter->end_time | string 或 null | 结束时间,如果是null或者不存在则认为是全查 | **回复** ``` { "state": true, "message": null, "data":{ "page":{ "now_page":1, "total_count":100 }, "list": [ { "alarm_id":"xxx", "src_name":"卫星接收机", "alarm_type":"告警类型", "desc":"xxx", "start_time":"2024-01-01 00:00:00", "end_time":"2024-01-01 00:00:00", "alarm_status":"正在发生", "process_status":"未处理", "process_time":"2024-01-01 00:00:00" } ] } } ``` | **参数** | **类型** | **描述** | | ------------------------ | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | list->[]->alarm_id | string | 告警alarm_id | | list->[]->src_name | string | 来源名称 | | list->[]->alarm_type | string | 告警类型 | | list->[]->desc | string | 描述 | | list->[]->start_time | string | 开始时间 | | list->[]->end_time | string | 结束时间 | | list->[]->alarm_status | string | 告警类型 | | list->[]->process_status | string | 处理类型 已处理 未处理 | | list->[]->process_time | string | 处理时间 | ### 导出 | **功能说明** | 告警导出 | | ------------ | -------------------------- | | 路由 | POST /api/v1/alarm/export | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "filter":{ "alarm_type":"音频丢失", ”status":"未处理", "start_time":"2024-01-01 00:00:00", "end_time":"2025-01-01 00:00:00" } } ``` | 参数 | 类型 | 描述 | | ------------------ | -------------- | --------------------------------------------------------- | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | | filter->alarm_type | string | 告警类型,如果是null或者不存在则认为是全查 | | filter->status | string或 null | 状态 "未处理" "已处理",如果是null或者不存在则认为是全查 | | filter->start_time | string 或 null | 开始时间, 如果是null或者不存在则认为是全查 | | filter->end_time | string 或 null | 结束时间,如果是null或者不存在则认为是全查 | **回复** ``` 具体文件内容直接存blob导出 若失败则会回复 { "state":false, "message":"失败", "data":{ } } ``` ### 告警处理 | **功能说明** | 告警处理 | | ------------ | -------------------------- | | 路由 | POST /api/v1/alarm/process | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "alarm_id":"xxx", "desc":"ssss" } ``` | 参数 | 类型 | 描述 | | -------- | ------ | ------ | | alarm_id | string | 告警id | | desc | string | 描述 | **回复** ``` { "state": true, "message": null, "data": {} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 按时段查询告警条数 | **功能说明** | 告警处理 | | ------------ | -------------------------------------- | | 路由 | POST /api/public/v1/alarm/search/count | **发送** ``` { "start_time":"2025-01-01 00:00:00", "end_time":"2025-01-07 00:00:00" } ``` | 参数 | 类型 | 描述 | | ---------- | ------ | -------- | | start_time | string | 开始时间 | | end_time | string | 结束时间 | **回复** ``` { "state": true, "message": null, "data": { "stream_content_compare":10, "stream_transfer_compare":20, "stream_content":30 } } ``` | **参数** | **类型** | **描述** | | ----------------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->stream_content_compare | int | 音视频比对告警条数 | | data->stream_transfer_compare | int | 码流比对告警条数 | | data->stream_content | int | 码流内容告警条数 | ## 任务相关 ### 任务-列表查询 | **功能说明** | 任务列表查询 | | ------------ | ---------------------- | | 路由 | POST /api/v1/task/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "filter":{ "code":"xxx", "name":"aaa", "type":"联管", "source":"xxx", "start_time":"2024-01-01 00:00:00", "end_time":"2024-01-01 00:00:00" } } ``` | 参数 | 类型 | 描述 | | ------------------ | -------------- | ------------------------------------------------------------ | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | | filter->code | string或 null | 编码类型,如果是null或者不存在则认为是全查 | | filter->name | string或 null | 名称,如果是null或者不存在则认为是全查 | | filter->type | string 或 null | 类型, 如果是null或者不存在则认为是全查任务类型( '未开始', '执行中', '执行完成', '已上报', '任务异常' ) | | filter->source | string 或 null | 来源,如果是null或者不存在则认为是全查 | | filter->start_time | string 或 null | 开始时间,如果是null或者不存在则认为是全查 | | filter->end_time | string 或 null | 结束时间,如果是null或者不存在则认为是全查 | **回复** ``` { "state": true, "message": null, "data":{ "page":{ "now_page":1, "total_count":100 }, "list": [ { "id":11, "code":"代号A", "name":"cctv1配置", "type":"独立任务", "source":"xxx测试", "receive_time":"2024-01-01 00:00:00", "plan_start_time":"2025-02-01 10:00:00", "plan_end_time":"2025-02-10 12:00:00" } ] } } ``` | 参数 | 类型 | 描述 | | ----------------------------- | ------ | ------------------------------------------------------------ | | page->now_page | int | 当前页码 | | total_count | int | 总页码 | | data->list[]->id | number | 任务id | | data->list[]->code | string | 任务代号 | | data->list[]->name | string | 任务名称 | | data->list[]->type | string | 任务类型( '未开始', '执行中', '执行完成', '已上报', '任务异常' ) | | data->list[]->source | string | 来源 联管 或 用户名称 | | data->list[]->receive_time | string | 接收时间 | | data->list[]->plan_start_time | string | 计划开始时间 | | data->list[]->plan_end_time | string | 计划结束时间 | ### 任务-新增或修改 | **功能说明** | 任务新增或修改 | | ------------ | ------------------------ | | 路由 | POST /api/v1/task/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id":11, "code":"代号A", "name":"cctv1配置", "desc":"xxx". "objective":"xxx", "plan_start_time":"2025-02-01 10:00:00", "plan_end_time":"2025-02-10 12:00:00" } ``` | **参数** | **类型** | **描述** | | --------------- | -------- | ------------------------------------ | | id | int | 用户id 若存在是修改 不存在则为新增 | | code | string | 任务代号 | | name | string | 任务名称 | | desc | string | 任务描述 | | objective | string | 任务目标 | | plan_start_time | string | 计划开始时间 | | plan_end_time | string | 计划结束时间 | **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 任务-删除 | **功能说明** | 任务删除 | | ------------ | ------------------------ | | 路由 | POST /api/v1/task/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ 111, 222 ] ``` **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 任务-获取所有得任务 | **功能说明** | 获取所有的评估任务 | | ------------ | ------------------------- | | 路由 | GET /api/v1/task/get/alls | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data":[ { "id":1, "name":"xxx", "subject_list":[ { "id":"1", "name":"科目1" } ] } ] } ``` ### 科目列表查询 | **功能说明** | 科目列表查询 | | ------------ | ------------------------------ | | 路由 | POST /api/v1/task/subject/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "task_id":111 //任务id } ``` **回复** ``` { "state": true, "message": null, "data":{ "task_info":{ "task_id":111, "code":"xxx", "name":"xxx", }, "page": { "now_page": 1, "total_count": 100 }, "list":[ { "id":1111, "name":"测试科目", "desc":"xxx", "test_quality":"xxx" } ] } } ``` | **参数** | **类型** | **描述** | | ------------------------------ | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->list[]->id | int | 科目id | | data->[]->list[]->name | string | 科目名称 | | data->[]->list[]->desc | string | 科目描述 | | data->[]->list[]->test_quality | string | 测试指标 | ### 添加或修改科目 | **功能说明** | 科目新增或修改 | | ------------ | -------------------------------- | | 路由 | POST /api/v1/task/subject/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "task_id":333, "id":1111, "name":"测试科目", "desc":"xxx", "test_quality":"xxx" } ``` | **参数** | **类型** | **描述** | | ------------ | -------- | ------------------------------------ | | id | int | 用户id 若存在是修改 不存在则为新增 | | task_id | int | 任务id | | name | string | 科目名称 | | desc | string | 科目描述 | | test_quality | string | 测试指标 | **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 科目删除 | **功能说明** | 科目删除 | | ------------ | -------------------------------- | | 路由 | POST /api/v1/task/subject/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ 111, 222 ] ``` **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 任务管控-查询列表 ### | **功能说明** | 科目列表查询 | | ------------ | -------------------------------------- | | 路由 | POST /api/v1/task/subject/control/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "task_id":111 //任务id } ``` **回复** ``` { "state": true, "message": null, "data":{ "page": { "now_page": 1, "total_count": 100 }, "task_info":{ "task_id":111, "code":"xxx", "name":"xxx", }, "list":[ { "id":1111, "name":"测试科目", "status":"初始化完成", "create_time":"2025-01-01 12:00:00", "status_info":[ { "name":"卫星接收机", "value":"执行中" }, ] } ] } } ``` | **参数** | **类型** | **描述** | | ---------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->id | int | 科目id | | data->[]-name | string | 科目名称 | | data->[]->status | string | 任务状态 [初始化完成 任务结束 任务执行中 任务中断] | | data->[]->test_quality | string | 测试指标 | ### 任务管控-模型设置 | **功能说明** | 任务管控-模型设置 | | ------------ | ----------------------------------------------- | | 路由 | POST /api/v1/task/subject/control/model/setting | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id":1111, "data":{ "time":50, "model_position":{ ... }, "setting":[ { "model_id":123, "quality":[ "freq", "ssrc" ], "control":{ "freq":123 } } ] } } ``` | **参数** | **类型** | **描述** | | ------------------------------------------- | -------- | ----------------------------------------- | | id | int | 科目id | | setting->[]->model_id | int | 模型id,协议请参考《/api/v1/device/list》 | | setting->[]->model_position->x | int | x位置 | | setting->[]->model_position->y | int | y位置 | | setting->[]->model_position->child_line->[] | int | 子连接方向的model | | time | int | 采集时间单位秒 | | setting->[]->quality->data | string | 需采集的指标数据 | | setting->[]->control->{} | object | key->value 形式参考协议《设备设置参参数》 | **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 任务管控-模型查询 | **功能说明** | 任务管控-模型设置 | | ------------ | ------------------------------------------------- | | 路由 | GET /api/v1/task/subject/control/model/get?id=111 | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data":{ "time":50, "model_position":{ ... }, "setting":[ { "model_id":123, "quality":[ "freq", "ssrc" ], "control":{ "freq":123 } } ] } } ``` **回执字段请参考协议《任务管控-模型设置》** ### 任务管控-任务执行 | **功能说明** | 任务管控-模型设置 | | ------------ | -------------------------------------- | | 路由 | POST /api/v1/task/subject/control/exec | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id":1111, "type":0 } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------- | | id | int | 科目id | | type | int | 0-开始 1-回收 | **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 设备设置 参数获取 | **功能说明** | 设备参数获取 | | ------------ | ------------------------------ | | 路由 | GET /api/v1/model/setting/args | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data":[ { "model":"卫星接收机", "setting":[ { "type":0, "name":"视频编码器", "id":"freq", "unit": "kHz", "min":0, "max":1000 }, { "type":1, "name":"输出ip", "id":"boardcast_ip" }, { "type":2, "name":"视频编码", "id":"video_codec", "option":[ "h264", "h265" ] }, { "type":3, "name":"SDI1通道复用", "id":"sdi_xxx" } ] } ] } ``` | **参数** | **类型** | **描述** | | --------------------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->model | string | 模型类型 | | data->[]->setting->[]->type | int | 0-number 1-字符串 2-选项卡 3-是否显示个复选框,传入true-false,选中true,未选中false | | data->[]->setting->[]->name | string | 名字 | | data->[]->setting->[]->id | string | 设置id传给后台用的 | | unit | string | 单位 不一定存在当时null 不显示 | | data->[]->setting->[]->option->[] | string | 选项卡类型 独有 | ### 任务模板-导出 | **功能说明** | 导出任务模板 | | ------------ | --------------------------------- | | 路由 | POST /api/v1/task/template/export | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "task_id":3333, "name":"cctv模板" } ``` | 参数 | 类型 | 描述 | | ------- | ---- | ------ | | task_id | int | 任务id | **回复** ``` { "state": true, "message": null, "data":{ } } ``` ### 任务模板-查询列表 | **功能说明** | 任务模板查询,这个接口不分页 | | ------------ | ------------------------------ | | 路由 | GET /api/v1/task/template/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data":[ { "id":1, "template_name":"模板名称", "name":"cctv1配置", "desc":"xxx". "objective":"xxx", "create_time":"2024-10-01 00:00:00" } ] } ``` | **参数** | **类型** | **描述** | | ----------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->[]->id | int | 模型id | | data->[]->template_name | string | 模板名称 | | data->[]->name | string | 任务名称 | | data->[]->desc | string | 描述 | | data->[]->objective | string | 目标 | | data->[]->create_time | string | 创建时间 | ### 任务模板-基于模板创建任务 | **功能说明** | 任务新增或修改 | | ------------ | ------------------------------------ | | 路由 | POST /api/v1/task/cteate/by/template | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "template_id":11, "code":"代号A", "name":"cctv1配置", "desc":"xxx". "objective":"xxx", "plan_start_time":"2025-02-01 10:00:00", "plan_end_time":"2025-02-10 12:00:00" } ``` | **参数** | **类型** | **描述** | | --------------- | -------- | ------------ | | template_id | int | 模板id | | code | string | 任务代号 | | name | string | 任务名称 | | desc | string | 任务描述 | | objective | string | 任务目标 | | plan_start_time | string | 计划开始时间 | | plan_end_time | string | 计划结束时间 | **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 任务模板-删除模板 | **功能说明** | 删除模板 | | ------------ | --------------------------------- | | 路由 | POST /api/v1/task/template/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id":111 } ``` | **参数** | **类型** | **描述** | | -------- | -------- | -------- | | id | int | 模板id | **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ## 获取设备指标模板 | 获取设备指标模板 | **功能说明** | | ----------------------------------- | ------------ | | GET /api/v1/device/quality/template | 路由 | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回执** ``` { "state": true, "message": null, "data":[ { "type":"卫星接收机", "list":[ { "quality":"freq", "name":"频点", "type":0 }, { "quality":"rate", "name":"码率", "type":0 } ] }, { "type":"编码器", "list":[ { "quality":"freq", "name":"频点", "type":0 }, { "quality":"rate", "name":"码率", "type":0 } ] } ] } ``` | 参数 | 类型 | 描述 | | ----------------------- | ------ | --------------- | | data[]->type | string | 设备类型 | | data[]->list[]->quality | string | 指标 | | data[]->list[]->name | string | 名称 | | data[]->list[]->type | int | 0-数字 1-字符串 | ## 任务评估 ### 评估体系-查询列表 | **功能说明** | 模板列表查询 | | ------------ | ------------------------------------------- | | 路由 | POST /api/v1/task/assess/metric/system/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "filter":{ "name":"aaa" } } ``` | 参数 | 类型 | 描述 | | ------------ | ------------- | -------------------------------------- | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | | filter->name | string或 null | 名称,如果是null或者不存在则认为是全查 | **回复** ``` { "state": true, "message": null, "data":{ "page":{ "now_page":1, "total_count":100 }, "list": [ { "id":1, "name":"测试体系", "criteria":"xxx", "desc":"xxx" } ] } } ``` | 参数 | 类型 | 描述 | | ---------------- | ------ | -------- | | page->now_page | int | 当前页码 | | total_count | int | 总页码 | | list[]->id | int | 模板id | | list[]->code | string | 模板代号 | | list[]->name | string | 模板名称 | | list[]->criteria | string | 评估要素 | | list[]->desc | string | 备注 | ### 评估体系-新建修改 | **功能说明** | 新建修改评估体系 | | ------------ | --------------------------------------------- | | 路由 | POST /api/v1/task/assess/metric/system/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id":1, "name":"测试体系", "criteria":"xxx", "desc":"xxx" } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------ | | id | int | 用户id 若存在是修改 不存在则为新增 | | name | string | 评估体系名称 | | criteria | string | 评估要素 | | desc | string | 描述 | **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 评估体系-删除 | **功能说明** | 删除评估模板 | | ------------ | --------------------------------------------- | | 路由 | POST /api/v1/task/assess/metric/system/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ 111, 222 ] ``` **回复** ``` { "state": true, "message": null, "data":{ } } ``` ### 评估体系-设置指标 | **功能说明** | 新建修改评估体系 | | ------------ | ------------------------------------------------------ | | 路由 | POST /api/v1/task/assess/metric/system/quality/setting | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ***注意指标体系只建立指标类型是数字得具体请参考协议 《获取设备指标模板》*** ```json { "id":1, "root":"xx体系", "model":[ { "id":1, "quality":[ { "id":"freq", "weight":0.4, "function":"加权求和法", "max":40, "min":20 }, { "id":"rate", "weight":0.4, "function":"加权求和法", "max":40, "min":20 } ] }, { "type":"告警", "quality":[ { "id":"码流比对告警", //这个id分 码流比对告警 音视频比对告警 码流内容告警 "weight":0.4, "function":"加权求和法", } ] } ] } ``` | **参数** | **类型** | **描述** | | ---------------------------- | -------- | ----------------------------------- | | id | int | 指标体系id | | root | string | 根名称 | | model | object | 模型下挂得设备指标 | | model[]->id | int | 模型id | | model[]->quality[]->id | string | 指标id 参考协议《获取设备指标模板》 | | model[]->quality[]->weight | float | 权重 | | model[]->quality[]->function | string | 效用函数:加权求和法,方差法 | | model[]->quality[]->max | float | 最大值 | | model[]->quality[]->min | float | 最小值 | **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 评估体系-查询评估体系指标 | **功能说明** | 设备参数获取 | | ------------ | ------------------------------------------------------ | | 路由 | GET /api/v1/task/assess/metric/system/quality/get?id=1 | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ```json { "state": true, "message": null, "data":{ "id":1, "root":"xx体系", "model":[ { "id":1, "quality":[ { "id":"freq", "weight":0.4, "function":"加权求和法", "max":40, "min":20 }, { "id":"rate", "weight":0.4, "function":"加权求和法", "max":40, "min":20 } ] }, { "type":"告警", "quality":[ { "id":"码流比对告警", //这个id分 码流比对告警 音视频比对告警 码流内容告警 "weight":0.4, "function":"加权求和法", } ] } ] } } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | **其他返回值参考《设置评估体系指标》** ### 评估体系-查询所有的评估任务名称 | **功能说明** | 获取所有的评估任务 | | ------------ | ---------------------------------------------- | | 路由 | GET /api/v1/task/assess/metric/system/get/alls | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data":[ { "id":1, "name":"xxx" } ] } ``` ### 评估算法-列表查询 | **功能说明** | 评估算法查询 | | ------------ | --------------------------------------- | | 路由 | POST /api/v1/task/assess/algorithm/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "filter":{ "name":"aaa" } } ``` | 参数 | 类型 | 描述 | | ------------ | ------------- | -------------------------------------- | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | | filter->name | string或 null | 名称,如果是null或者不存在则认为是全查 | **回复** ``` { "state": true, "message": null, "data":{ "page":{ "now_page":1, "total_count":100 }, "list": [ { "id":1, "name":"测试体系", "taxonomy":"评估算法", "change_user":"xxx", "update_time":"xxx", "type":0, "source_code":"xxx", "function":"xxx", "data_equirement":"xxx", "desc":"xxx" } ] } } ``` | 参数 | 类型 | 描述 | | ----------------------- | ------ | ------------------------ | | page->now_page | int | 当前页码 | | total_count | int | 总页码 | | list[]->id | int | id | | list[]->name | string | 算法名称 | | list[]->taxonomy | string | 算法分类 | | list[]->change_user | string | 更新用户 | | list[]->update_time | string | 更新时间 | | list[]->type | int | 0-内置算法 1-上传得算法 | | list[]->source_code | string | 源代码 | | list[]->function | string | 函数 | | list[]->data_equirement | string | 特定数据需求 | | list[]->desc | string | 描述 | ### 评估算法-新建修改 | **功能说明** | 新建修改评估算法 | | ------------ | ----------------------------------------- | | 路由 | POST /api/v1/task/assess/algorithm/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id":1, "name":"测试体系", "taxonomy":"评估算法", "source_code":"xxx", "function":"xxx", "data_equirement":"xxx", "desc":"xxx" } ``` | **参数** | **类型** | **描述** | | --------------- | -------- | ------------------------------------ | | id | int | 用户id 若存在是修改 不存在则为新增 | | name | string | 算法名称 算法名字是唯一的 | | taxonomy | string | 算法分类 | | source_code | string | 源代码 | | function | string | 函数 | | data_equirement | string | 特定数据需求 | | desc | string | 描述 | **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 评估算法-删除 | **功能说明** | 删除评估算法 | | ------------ | ----------------------------------------- | | 路由 | POST /api/v1/task/assess/algorithm/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ 111, 222 ] ``` **回复** ``` { "state": true, "message": null, "data":{ } } ``` ### 评估算法-查询所有的评估算法 | **功能说明** | 获取所有的评估任务 | | ------------ | ------------------------------------------ | | 路由 | GET /api/v1/task/assess/algorithm/get/alls | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data":[ { "id":1, "name":"xxx" } ] } ``` ### 评估模型-查询列表 | **功能说明** | 评估模型列表查询 | | ------------ | ----------------------------------- | | 路由 | POST /api/v1/task/assess/model/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "filter":{ "name":"aaa" } } ``` | 参数 | 类型 | 描述 | | ------------ | ------------- | -------------------------------------- | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | | filter->name | string或 null | 名称,如果是null或者不存在则认为是全查 | **回复** ``` { "state": true, "message": null, "data":{ "page":{ "now_page":1, "total_count":100 }, "list": [ { "id":1, "name":"测试体系", "algorithm_id":1, "metric_system_id":111, "desc":"xxx" } ] } } ``` | 参数 | 类型 | 描述 | | ------------------------ | ------ | --------------------------------------------------- | | page->now_page | int | 当前页码 | | total_count | int | 总页码 | | list[]->id | int | 模型id | | list[]->name | string | 模板名称 | | list[]->metric_system_id | int | 评估体系id 参考《评估体系-查询所有的评估任务名称》 | | list[]->algorithm_id | int | 评估算法id | | list[]->desc | string | 备注 | ### 评估模型-新建修改 | **功能说明** | 新建修改评估模型 | | ------------ | ------------------------------------- | | 路由 | POST /api/v1/task/assess/model/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id":1, "name":"测试体系", "metric_system_id":2, "algorithm_id":1 , "desc":"xxx" } ``` | **参数** | **类型** | **描述** | | ---------------- | -------- | ------------------------------------ | | id | int | 用户id 若存在是修改 不存在则为新增 | | name | string | 评估体系名称 | | metric_system_id | int | 评估体系 | | algorithm_id | int | 评估算法id | | desc | string | 描述 | **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 评估模型-删除 | **功能说明** | 删除评估模板 | | ------------ | ------------------------------------- | | 路由 | POST /api/v1/task/assess/model/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ 111, 222 ] ``` **回复** ``` { "state": true, "message": null, "data":{ } } ``` ### 评估模型-查询所有的评估模型名称 | **功能说明** | 获取所有的评估模型 | | ------------ | -------------------------------------- | | 路由 | GET /api/v1/task/assess/model/get/alls | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data":[ { "id":1, "name":"xxx" } ] } ``` ### 任务评估-查询列表 | **功能说明** | 模板列表查询 | | ------------ | ----------------------------- | | 路由 | POST /api/v1/task/assess/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "filter":{ "name":"cctv1" } } ``` | 参数 | 类型 | 描述 | | ------------ | ------ | ------------------------ | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | | filter->time | string | 时间查询,时间之后得任务 | | filter->name | string | 名称。模糊查询 | **回复** ``` { "state": true, "message": null, "data":{ "page":{ "now_page":1, "total_count":100 }, "list": [ { "id":1, "task_id":111, "subject_id":222, "name":"xxx", "model_id":11, "algorithm_id":11, "metric_system_id":11, "desc":"xxx", "run_time":"2024-01-01 00:00:00", "run_user":'xxx', "assess_object":"xxx" } ] } } ``` 注意: 1.选择模型,不选择指标体系和算法。 2.选了指标体系,还需选算法,不选模型。 | 参数 | 类型 | 描述 | | ------------------------ | ------ | ------------------------------------- | | page->now_page | int | 当前页码 | | total_count | int | 总页码 | | list[]->id | int | 用户id 若存在是修改 不存在则为新增 | | list[]->task_id | number | 评估任务 通过《任务-获取所有得任务》 | | list[]->subject_id | number | 科目id 通过《任务-获取所有得任务》 | | list[]->model_id | number | 评估模型id | | list[]->algorithm_id | number | 算法id | | list[]->metric_system_id | number | 指标体系id | | list[]->desc | string | 描述 | | list[]->run_time | string | 运行时间 | | list[]->run_user | string | 运行用户 | | list[]->assess_object | string | 评估对象 | | | | | | | | | ### 任务评估-新建评估任务 | **功能说明** | 评估任务新建模板 | | ------------ | ------------------------------- | | 路由 | POST /api/v1/task/assess/action | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "id":1, "task_id":111, "subject_id":222, "name":"xxx", "model_id":11, "algorithm_id":11, "metric_system_id":11, "desc":"xxx" } ``` | **参数** | **类型** | **描述** | | ---------------- | -------- | ------------------------------------ | | id | int | 用户id 若存在是修改 不存在则为新增 | | task_id | number | 评估代号 | | subject_id | number | 科目代号 | | model_id | number | 模型id | | algorithm_id | number | 算法id | | metric_system_id | number | 指标体系id | | desc | string | 描述 | **回复** ``` { "state": true, "message": null, "data":{} } ``` | **参数** | **类型** | **描述** | | -------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | ### 任务评估-删除评估任务 | **功能说明** | 删除评估模板 | | ------------ | ------------------------------- | | 路由 | POST /api/v1/task/assess/delete | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ 111, 222 ] ``` **回复** ``` { "state": true, "message": null, "data":{ } } ``` ### 评估任务-**开始评估** | **功能说明** | 开始评估 | | ------------ | ----------------------------- | | 路由 | POST /api/v1/task/assess/exec | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` [ 111, 222 ] ``` **回复** ``` { "state": true, "message": null, "data":{ } } ``` ### 评估报告-查询列表 | **功能说明** | 模板列表查询 | | ------------ | ------------------------------------ | | 路由 | POST /api/v1/task/assess/result/list | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | ``` { "page":1, "show_size":10, "filter":{ "name":"cctv1" } } ``` | 参数 | 类型 | 描述 | | ------------ | ------ | ------------------------ | | page | int | 当前页码 | | show_size | int | 一页展示展示几个 | | filter->time | string | 时间查询,时间之后得任务 | | filter->name | string | 名称。模糊查询 | **回复** ``` { "state": true, "message": null, "data":{ "page":{ "now_page":1, "total_count":100 }, "list": [ { "id":1, "task_name":"xxx", "algorithm":"xxx", "run_time":"2024-01-01 00:00:00", "create_result_time":"2024-01-01 00:00:00", "assess_object":"xxx", "result":0.08 } ] } } ``` | 参数 | 类型 | 描述 | | ------------------ | ------ | ------------------------------------ | | page->now_page | int | 当前页码 | | total_count | int | 总页码 | | list[]->id | int | 用户id 若存在是修改 不存在则为新增 | | code | string | 代号 | | task_name | string | 任务名称 | | algorithm | string | 算法 | | run_time | string | 运行时间 | | create_result_time | string | 报告生成时间 | | assess_object | string | 评估对象 | | result | float | 结果 | ### 评估报告-查看评估结果 | **功能说明** | 查看评估结果 | | ------------ | ------------------------------------- | | 路由 | GET /api/v1/task/assess/result?id=111 | **发送** | header**参数** | **类型** | **描述** | | -------------- | -------- | ------------- | | Authorization | string | Bearer xxxxxx | **回复** ``` { "state": true, "message": null, "data":{ "task_name":"cctv1评估", "run_time":"2024-01-01 00:00:00", "algorithm":"加权求和", "result":60, "assess_object":"xxx", "desc":"xxx", "data":[ { "model_name":"编码器", "model_id":111, "quality":[ { "name":"频点", "weight":0.6, "result":0.04 } ] } ] } } ``` | **参数** | **类型** | **描述** | | ------------------------- | -------- | ------------------------------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | message | string | State返回false时里边描述的时错误信息 当调用失败后请以message形式弹框显示错误信息 | | data->name | string | 任务名称 | | run_time | string | 运行时间 | | algorithm | string | 算法 | | result | float | 评估结果 | | data[]->model_name | string | 模型名称 | | data[]->model_id | int | 模型id | | data[]->quality[]->name | string | 指标名称 | | data[]->quality[]->weight | float | 权重 | | data[]->quality[]->result | float | 结果 | ## 录像 ### 查询列表 参考协议《流列表查询》 显示流名字即可 ### 查月份录像记录 | **功能说明** | 按月份查询录像记录 | | ------------ | -------------------------------------- | | 路由 | POST /api/v1/stream/vod/existvod/month | **发送** ``` { "stream_path":"xxxx", "date":"2023-09" } ``` | 参数 | 类型 | 描述 | | ----------- | ------ | --------------------- | | stream_path | string | 录像唯一标识,压入流id | | date | time | 年月 | **回复** ``` { "state":true, "desc":"成功",     "data":[ 1,2,5,6,17,18 ] } ``` | 参数 | 类型 | 描述 | | ---- | ----- | ------------------ | | data | array | 这个月的这天有录像 | ### 查询某天录像列表 | **功能说明** | 按某天查询录像列表 | | ------------ | ----------------------------------- | | 路由 | POST /api/v1/stream/vod/vodlist/day | **发送** ``` { "stream_path":"xxxx", "date":"2023-09-01" } ``` | 参数 | 类型 | 描述 | | ----------- | ------ | ------------ | | stream_path | string | 录像唯一标识 | | date | time | 年月日 | **回复** ``` { "state":true, "desc":"成功",     "data":[ { "start_time":"00:00:00", "end_time":"01:00:00", "url":{ "http":"xxx", "https":"xxxx" } }, { "start_time":"10:00:00", "end_time":"11:00:00", "url":{ "http":"xxx", "https":"xxxx" } } ] } ``` | 参数 | 类型 | 描述 | | ------------------ | ------ | -------------------- | | data | array | 这一天什么时候有录像 | | data[]->start_time | time | 开始时间 时分秒 | | data[]->start_time | time | 结束时间 时分秒 | | data[]->url->http | string | http url | | data[]->url->https | string | https url | ### 录像下载 | **功能说明** | 录像下载 | | ------------ | ------------------------------------------------------------ | | 路由 | GET /api/v1/stream/vod/download?stream_path=momoda&starttime=20230321090000&endtime=20230321092000 | | **参数** | **类型** | **描述** | | ----------- | -------- | ----------------------------------------- | | stream_path | string | 码流path | | starttime | string | 录像查询开始时间 时间格式: 20230321090000 | | endtime | string | 录像查询结束时间 时间格式: 20230321090000 | **回复** ``` 返回mp4数据 ``` ### 按开始时间结束时间-录像查询 | **功能说明** | 录像查询 | | ------------ | ------------------------------------------------------------ | | 路由 | GET /api/v1/stream/vod/search?stream_path=momoda&starttime=20230321090000&endtime=20230321092000 | | **参数** | **类型** | **描述** | | ----------- | -------- | ----------------------------------------- | | stream_path | string | 码流path | | starttime | string | 录像查询开始时间 时间格式: 20230321090000 | | endtime | string | 录像查询结束时间 时间格式: 20230321090000 | **回复** ``` { "state":true, "desc":"成功",     "data":{ "http":"xxx", "https":"xxx" } } ``` | **参数** | **类型** | **描述** | | ----------- | -------- | ------------------------------------ | | state | bool | True- 调用成功False – 调用失败 | | desc | string | State返回false时里边描述的时错误信息 | | data->http | string | 录像http url | | data->https | string | 录像https url | # socket.io ``` socket.io 链接使用/api/v1/socket ``` ## 相似度推送 socket.io **协议方向** ``` 服务端主动向客户端推送 ``` **事件id** ``` compare:similarity ``` **数据** **value有可能会推送未知** ``` [ { "id":123456, "slave":[ { "value":98.1, "stream_id":1111 }, { "value":98.1, "stream_id":2222 } ] }, { "id":33333, "slave":[ { "value":98.1, "stream_id":4444 }, { "value":98.1, "stream_id":5555 } ] } ] ``` | **参数** | **类型** | **描述** | | ---------------------- | -------- | ---------------------- | | []->id | int | 比对组id | | []->slave[]->stream_id | int | 比对非基准设备 | | []->slave[]->value | float | 相似度 小于0时显示未知 | ## 消息看板推送 socket.io **协议方向** ``` 服务端主动向客户端推送 ``` **事件id** ``` notify:message ``` **数据** **value有可能会推送未知** ``` { "message":"xxxx" } ``` | **参数** | **类型** | **描述** | | -------- | -------- | -------- | | message | string | 消息 | ## 综管对接 ### 管配置执行 socket.io **协议方向** ``` 客户端向服务端发送 ``` **事件id** ``` task:create:exec ``` **发送** ``` { "task": { "name": "任务名称", // string,任务的名称 "task_id": "任务唯一ID" // string,任务的唯一标识符 }, "subject": { "name": "科目名称", // string,所属科目的名称 "subject_id": "科目唯一ID", // string,科目的唯一标识符 "setting": { "time": null, // null 或时间对象,表示任务限制时间;为 null 则表示无限期 "model_position": {}, // 传空即可 "setting": [ { "control": { "enable": "value1", // 控制参数(键值对),键名为控制项名称,值为对应配置,例如 {"enable_light": true} "freq": 123 }, "quality": [], // 传空就行 "model_id": 1 // number,关联的模型 ID } ] } } } ``` **返回** ```json { "state":true, "message":"xxx", "data":{ "id":444 // 任务id记录这个id停止任务要使用 } } ``` ### 配管任务回收 socket.io **协议方向** ``` 客户端向服务端发送 ``` **事件id** ``` task:recover ``` **发送** ``` { "id":333 //配管任务回复得id } ``` **返回** ```json { "state":true, "message":"xxx", "data":{ } } ``` ### 指标采集配置 socket.io **协议方向** ``` 客户端向服务端发送 ``` **事件id** ``` quality:get ``` **发送** ``` [1,2] // 设备id ``` **返回** ```json { "state":true, "message":"xxx", "data":{ } } ``` ### 指标上报 socket.io **协议方向** ``` 服务端向客户端推送 客户端监听event ``` **事件id** ``` quality:report ``` **发送** ``` [ { "id": 12, "type": "C频段ODU", "name": "1111", "quality": { "main": { "com_state": true, "time": "2025-06-26 17:10:47", "temperature": { "value": 32.4, "alarm": false, "name": "温度", "unit": "℃" }, "att": { "value": 0.5, "alarm": false, "name": "增益衰减量" }, "lock": { "value": "未锁定", "alarm": false, "name": "本振状态" }, "zt": { "value": "发射关闭", "alarm": false, "name": "发射工作状态" } }, "other": { } } } ] ```