From 226d8855fdcb261a6be833e0e00f42e047c5e3e3 Mon Sep 17 00:00:00 2001 From: yangsy Date: Tue, 25 Nov 2025 19:05:55 +0800 Subject: [PATCH] feat(alarm-page): ignore camera --- src/apis/model/biz/entity/video/index.ts | 1 + .../biz/entity/video/ndm-camera-ignore.ts | 14 ++ src/apis/request/biz/video/index.ts | 1 + .../request/biz/video/ndm-camera-ignore.ts | 66 +++++++++ src/pages/alarm-page.vue | 139 +++++++++++++++--- 5 files changed, 201 insertions(+), 20 deletions(-) create mode 100644 src/apis/model/biz/entity/video/ndm-camera-ignore.ts create mode 100644 src/apis/request/biz/video/ndm-camera-ignore.ts diff --git a/src/apis/model/biz/entity/video/index.ts b/src/apis/model/biz/entity/video/index.ts index 4f8303d..4a25f3b 100644 --- a/src/apis/model/biz/entity/video/index.ts +++ b/src/apis/model/biz/entity/video/index.ts @@ -1,4 +1,5 @@ export * from './ndm-camera'; +export * from './ndm-camera-ignore'; export * from './ndm-decoder'; export * from './ndm-keyboard'; export * from './ndm-media-server'; diff --git a/src/apis/model/biz/entity/video/ndm-camera-ignore.ts b/src/apis/model/biz/entity/video/ndm-camera-ignore.ts new file mode 100644 index 0000000..af4204a --- /dev/null +++ b/src/apis/model/biz/entity/video/ndm-camera-ignore.ts @@ -0,0 +1,14 @@ +import type { BaseModel, ReduceForPageQuery, ReduceForSaveVO, ReduceForUpdateVO } from '@/apis'; + +export interface NdmCameraIgnore extends BaseModel { + deviceId: string; + ignoreType: string; +} + +export type NdmCameraIgnoreResultVO = Partial; + +export type NdmCameraIgnoreSaveVO = Partial>; + +export type NdmCameraIgnoreUpdateVO = Partial>; + +export type NdmCameraIgnorePageQuery = Partial>; diff --git a/src/apis/request/biz/video/index.ts b/src/apis/request/biz/video/index.ts index 4f8303d..4a25f3b 100644 --- a/src/apis/request/biz/video/index.ts +++ b/src/apis/request/biz/video/index.ts @@ -1,4 +1,5 @@ export * from './ndm-camera'; +export * from './ndm-camera-ignore'; export * from './ndm-decoder'; export * from './ndm-keyboard'; export * from './ndm-media-server'; diff --git a/src/apis/request/biz/video/ndm-camera-ignore.ts b/src/apis/request/biz/video/ndm-camera-ignore.ts new file mode 100644 index 0000000..4640215 --- /dev/null +++ b/src/apis/request/biz/video/ndm-camera-ignore.ts @@ -0,0 +1,66 @@ +import { ndmClient, userClient, type NdmCameraIgnorePageQuery, type NdmCameraIgnoreResultVO, type NdmCameraIgnoreSaveVO, type NdmCameraIgnoreUpdateVO, type PageParams, type PageResult } from '@/apis'; + +export const pageCameraIgnoreApi = async (pageQuery: PageParams, options?: { stationCode?: string; signal?: AbortSignal }) => { + const { stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmCameraIgnore/page`; + const resp = await client.post>(endpoint, pageQuery, { signal }); + const [err, data] = resp; + if (err || !data) { + throw err; + } + return data; +}; + +export const detailCameraIgnoreApi = async (id: string, options?: { stationCode?: string; signal?: AbortSignal }) => { + const { stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmCameraIgnore/detail`; + const resp = await client.get(endpoint, { params: { id }, signal }); + const [err, data] = resp; + if (err || !data) { + throw err; + } + return data; +}; + +export const saveCameraIgnoreApi = async (saveVO: NdmCameraIgnoreSaveVO, options?: { stationCode?: string; signal?: AbortSignal }) => { + const { stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmCameraIgnore`; + const resp = await client.post(endpoint, saveVO, { signal }); + const [err, data] = resp; + if (err || !data) { + throw err; + } + return data; +}; + +export const updateCameraIgnoreApi = async (updateVO: NdmCameraIgnoreUpdateVO, options?: { stationCode?: string; signal?: AbortSignal }) => { + const { stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmCameraIgnore`; + const resp = await client.put(endpoint, updateVO, { signal }); + const [err, data] = resp; + if (err || !data) { + throw err; + } + return data; +}; + +export const removeCameraIgnoreApi = async (ids: string[], options?: { stationCode?: string; signal?: AbortSignal }) => { + const { stationCode, signal } = options ?? {}; + const client = stationCode ? ndmClient : userClient; + const prefix = stationCode ? `/${stationCode}` : ''; + const endpoint = `${prefix}/api/ndm/ndmCameraIgnore`; + const resp = await client.delete(endpoint, ids, { signal }); + const [err, data] = resp; + if (err || !data) { + throw err; + } + return data; +}; diff --git a/src/pages/alarm-page.vue b/src/pages/alarm-page.vue index f3d6227..24b6145 100644 --- a/src/pages/alarm-page.vue +++ b/src/pages/alarm-page.vue @@ -1,13 +1,22 @@