| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- import { http } from '@/utils/http/axios';
- import { CameraAddItem, CameraDetailServer, CameraRangeItem } from '@/types/camera/type';
- export type PaginationArrayData<T> = {
- records: T[];
- pageNumber: number;
- pageSize: number;
- totalPage: number;
- totalRow: number;
- };
- export type CameraQueryParamDetails = {
- ip?: string; // 相机IP
- code?: string; // 相机code
- cameraType?: string; // 相机协议类型
- workspaceId?: number; // 工位id
- sourceType?: string; // 添加方式:IP,NVR,RTSP
- integrationState?: number; // 是否接入平台
- networkingState?: number; // 联网状态
- openEagle?: number; // 是否开启鹰眼追踪
- };
- export type CameraQueryParams = {
- pageNumber?: number;
- pageSize?: number;
- queryParam: CameraQueryParamDetails;
- };
- export interface CameraStatus {
- cameraCode: string;
- integrationState: number;
- networkingState: number;
- }
- export const getCameraList = (data: CameraQueryParams) => {
- return http.request<PaginationArrayData<CameraDetailServer>>({
- url: '/admin/cameraConfig/queryCameraPageByFilters',
- method: 'post',
- data: data,
- });
- };
- // 添加相机,三种方式,共用此接口
- export const addCameraItem = (data: CameraAddItem) => {
- return http.request({
- url: '/admin/cameraConfig/saveCamera',
- method: 'post',
- data: data,
- });
- };
- export const getCamerasByIPRange = (params: CameraRangeItem) => {
- return http.request<CameraDetailServer[]>({
- url: '/cameraConfig/getCameraByIpSegment',
- method: 'get',
- params,
- });
- };
- export const updateCameraItem = (data: CameraAddItem) => {
- return http.request(
- {
- url: '/admin/cameraConfig/updateCamera',
- method: 'put',
- data,
- },
- {
- isTransformResponse: false,
- },
- );
- };
- export const startCameraStream = (cameraId: number) => {
- return http.request({
- url: `/cameraConfig/startCameraStream?cameraId=${cameraId}`,
- method: 'put',
- });
- };
- export const stopCameraStream = (cameraId: number) => {
- return http.request({
- url: `/cameraConfig/stopCameraStream?cameraId=${cameraId}`,
- method: 'put',
- });
- };
- export const deleteCameraItem = (params: { cameraId: number }) => {
- return http.request({
- url: `/admin/cameraConfig/deleteCamera?cameraId=${params.cameraId}`,
- method: 'delete',
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
- });
- };
- // 批量删除相机
- export const deleteCameraItems = (data: number[]) => {
- return http.request({
- url: '/admin/cameraConfig/deleteCameraList',
- method: 'post',
- data,
- });
- };
- /**
- * 通过codes获取相机状态。后期会废弃。建议使用 ids 获取
- * @param data 、
- * @returns
- */
- export const getCameraStateByCodes = (data: { cameraCodeList: string[] }) => {
- return http.request<CameraStatus[]>({
- url: '/admin/cameraConfig/queryCameraStatusListByCameraCodes',
- method: 'post',
- data,
- });
- };
- /**
- * v4: 根据相机 id 查询相机联网状态
- * @param data
- * @returns
- */
- export const getCameraStateByIds = (data: { cameraIdList: number[] | string[] }) => {
- return http.request<CameraStatus[]>({
- url: '/admin/cameraConfig/queryCameraStatusListByCameraIds',
- method: 'post',
- data,
- });
- };
- // 批量添加相机 - 下载场景code
- export function downloadSpaceCode() {
- return http.request(
- {
- url: '/admin/cameraConfig/exportWorkspaceCodeForm',
- method: 'post',
- responseType: 'blob',
- },
- { isShowErrorMessage: false, isTransformResponse: false },
- );
- }
- // 批量添加相机 - 下载模板
- export function downloadBatchTemplate() {
- return http.request(
- {
- url: '/skyeye/CAMERALIST_TEMPLATE/camera-upload-template.xlsx',
- method: 'get',
- responseType: 'blob',
- },
- { urlPrefix: '/skyeye-file-upload', isShowErrorMessage: false, isTransformResponse: false },
- );
- }
- export function getTreeWorkspaceInfo() {
- return http.request({
- url: '/admin/workshop/queryCompanyShopSpaceList',
- method: 'get',
- headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
- });
- }
|