import { request } from '@sensoro/core'; import { VisualType } from '../common/types/visual-identify'; const basicApi = '/camera/api/daas/v1'; // 获取抓拍详情 export async function fetchCaptureDetail(data: { id: string; type: VisualType; }) { const { id, type, ...rest } = data; let resApi: string = ''; let key: string = 'faceId'; switch (type) { case 'face': resApi = 'face/queryFaces'; key = 'faceId'; break; case 'body': resApi = 'body/queryBodies'; key = 'humanBodyId'; break; case 'motor': resApi = 'motorVehicle/queryMotorVehicles'; key = 'motorVehicleId'; break; case 'noMotor': resApi = 'non-motorVehicle/queryNon-motorVehicles'; key = 'nonMotorVehicleId'; break; default: console.log('无匹配类型'); } return request.post(`${basicApi}/${resApi}`, { data: { [key]: id, ...rest }, }); } /** * 利用personId获得一起出现人员信息 */ export const fetchTogether = (params: { personId: string; startTime: number; endTime: number; sns: string[]; withTrip: boolean; }) => { return request.post(`${basicApi}/face/queryFaces`, { data: params }); }; // 获取设备某一段时间录像 export async function fetchVideo(data: any) { const { sn, captureTime } = data; return request.get( `/camera/common/static/v1/video/live.m3u8/${sn}/captureVideo?captureTime=${captureTime}`, ); } // 下载某一抓拍时间段录像 export async function downloadVideo(data: any) { return request.post( `/camera/common/static/v1/video/live.m3u8/${data.sn}/hls/download`, { data, timeout: 200000, }, ); } // 获取最近出现列表 export async function fetchRecentAppearance(data: { [key: string]: any }) { const { type, ...rest } = data; let resApi: string = ''; switch (type) { case 'face': resApi = 'face/queryFacesByImg'; break; case 'motor': resApi = 'motorVehicle/queryMotorVehicles'; break; default: console.log('无匹配类型'); } return request.post(`${basicApi}/${resApi}`, { data: { ...rest }, }); } const SIZE = 30; export const fetchFace = (data: Object) => request.post('/camera/api/daas/v1/face/queryFaces', { data: { ...data, size: SIZE }, }); export const fetchBody = (data: Object) => request.post('/camera/api/daas/v1/body/queryBodies', { data: { ...data, size: SIZE }, }); export const fetchVehicle = (data: Object) => request.post('/camera/api/daas/v1/motorVehicle/queryMotorVehicles', { data: { ...data, size: SIZE }, }); export const fetchNonVehicle = (data: Object) => request.post('/camera/api/daas/v1/non-motorVehicle/queryNon-motorVehicles', { data: { ...data, size: SIZE }, }); export const fetchPersonLists = (params: Object) => request.post('/digitalProperty/v1/personnelFiles/fromVirtual/ids', { data: params, });