camera-overview.ts 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import { http } from '@/utils/http/axios';
  2. import { CameraIPItem, CameraShowItem, CameraRangeItem } from '@/views/cameras/overview/type';
  3. export type PaginationArrayData<T> = {
  4. records: T[];
  5. pageNumber: number;
  6. pageSize: number;
  7. totalPage: number;
  8. totalRow: number;
  9. };
  10. export type CameraQueryParams = {
  11. /** 相机协议类型 */
  12. cameraType?: string;
  13. /** 设备ID */
  14. code?: string;
  15. /** 相机IP */
  16. ip?: string;
  17. /** 场景 */
  18. sceneCode?: string;
  19. pageNumber?: number;
  20. pageSize?: number;
  21. };
  22. export const getCameraList = (params: CameraQueryParams) => {
  23. return http.request<PaginationArrayData<CameraShowItem>>({
  24. url: '/cameraConfig/findCamera',
  25. method: 'get',
  26. params,
  27. headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
  28. });
  29. };
  30. export const addCameraItem = (data: CameraIPItem) => {
  31. return http.request({
  32. url: '/cameraConfig/saveCamera',
  33. method: 'post',
  34. data: data,
  35. });
  36. };
  37. export const getCamerasByIPRange = (params: CameraRangeItem) => {
  38. return http.request<CameraShowItem[]>({
  39. url: '/cameraConfig/getCameraByIpSegment',
  40. method: 'get',
  41. params,
  42. });
  43. };
  44. export const updateCameraItem = (data: Partial<CameraIPItem>) => {
  45. return http.request({
  46. url: '/cameraConfig/updateCamera',
  47. method: 'put',
  48. data,
  49. });
  50. };