import { request } from '@sensoro/core'; // 操作预警 export const operateAlarm = (id: string, params: any) => { return request.put(`/alarm/v1/alarms/${id}/operate`, { data: params }); }; // 根据SN获取设备列表 export const fetchDevices = (params: Object) => request.post('/device/v1/devices/ids', { data: params }); // 设备详情 export const fetchDeviceInfo = (id: string) => request.get(`/device/v1/devices/${id}`, {}); /** * 下载指定设备的历史录像 * @param data */ export interface FetchDownloadVideoParams { sn: string; startTime?: number; endTime?: number; name?: string; devicePlatType?: number; captureTime?: number; channelId?: string; } export async function fetchDownloadVideo(data: FetchDownloadVideoParams) { return request.post( `/camera/common/static/v1/video/live.m3u8/${data.sn}/hls/download`, { data, timeout: 200000, }, ); } // 最新摄像机列表接口,包括国标设备及灵思设备 export const fetchCameras = (id: string) => { return request.get(`/alarm/v1/alarms/${id}/cameras`, { params: { __hideMessage: true }, }); }; // 群防群治详情 export const fetchGroupdefenseInfo = (id: string) => { return request.get(`/groupdefense/v1/event/${id}`, {}); }; // 关联空间数据 export const fetchSpaces = (params: any) => { return request.post('/space/v1/spaces/many', { data: params }); }; export const fetchAlarmImages = ( id: string, params?: { startTime: number; endTime: number }, ) => { return request.get(`/alarm/v1/alarms/${id}/personCapture`, { params }); }; // 通过车牌号码 获取档案库信息 export const getArchivesDetailByPlateText = (params: { plateText: string; plateTextEncrypt?: string; }) => { return request.post('/digitalProperty/v1/vehicleFiles/fromPlateText', { data: params, }); }; // 更新PTZ预置位列表 export const fetchPTZSets = (id: string, serial: string) => request.post( `/camera/common/gb/device/v1/devices/${id}/channelSerial/${serial}/presets`, { headers: { 'content-type': 'application/json' }, }, ); // 摄像机控制 export const cameraPTZControl = (id: string, action: string, data: any) => request.post(`/camera/common/gb/device/v1/devices/${id}/controls/${action}`, { data, }); // 摄像机开始直播推流 export const cameraStartStream = (id: string, data: any) => request.post(`/camera/common/gb/device/v1/devices/${id}/streams/start`, { data, }); // 预设位控制 export const cameraSetControl = (id: string, data: any) => request.post(`/camera/common/gb/device/v1/devices/${id}/controls/preset`, { data, }); // 拉取摄像机详情 export const fetchImageInfo = (data: any) => { return request.post(`/camera/common/image/v1/detect`, { data, params: { __hideMessage: true }, }); };