Browse Source

Merge branch 'all-v4-lhf' into 'all-v4'

完成了算法配置页面的接口对接

See merge request skyeye/skyeye_frontend/skyeye-admin!268
楼航飞 1 year ago
parent
commit
a9e5827076

+ 6 - 5
src/api/camera/camera-preview.ts

@@ -1,6 +1,7 @@
 /** 相机预览的接口 */
 // cameraPreview/getList
 
+import { FenceDisplayStatus } from '@/types/camera/constant';
 import { http } from '@/utils/http/axios';
 import qs from 'qs';
 
@@ -382,7 +383,7 @@ export const renderCamera = (data: RenderPara) => {
 };
 
 interface PresetType {
-  algoCode: string;
+  algoId: number;
   cameraCode: string;
   presetToken: string;
 }
@@ -390,8 +391,8 @@ interface PresetType {
 //选择相机算法预设
 export const choosePreset = (data: PresetType) => {
   return http.request({
-    url: `/cameraPreview/choosePreset`,
-    method: 'post',
+    url: `/admin/algo/choosePreset`,
+    method: 'put',
     data,
   });
 };
@@ -426,13 +427,13 @@ export const getCameraAlgoPresetList = (
 
 interface UpdateFenceType {
   cameraCode: string;
-  status: number;
+  isDisplayFence: FenceDisplayStatus;
 }
 
 // 开启-关闭平台显示电子围栏
 export const updateFenceDisplayStatus = (data: UpdateFenceType) => {
   return http.request({
-    url: `/admin/cameraPreview/updateFenceDisplayStatus`,
+    url: `/admin/algo/updateFenceDisplayStatus`,
     method: 'put',
     data,
   });

+ 3 - 3
src/types/camera/constant.ts

@@ -4,12 +4,12 @@ import type { BasicColumn } from '@/components/Table';
 import connectedIcon from '@/assets/images/table/camera-netConnect.png';
 import unConnectedIcon from '@/assets/images/table/camera-netUnconnect.png';
 
-// 是否启用
+// 是否启用 平台显示电子围栏
 export enum FenceDisplayStatus {
   // 启用
-  enabled = 0,
+  enabled = 1,
   // 禁用
-  disabled = 1,
+  disabled = 0,
 }
 
 export enum IsPtz {

+ 2 - 1
src/types/camera/type.ts

@@ -1,4 +1,4 @@
-import { IsPtz, VideoServiceType, VideoStandardType } from './constant';
+import { FenceDisplayStatus, IsPtz, VideoServiceType, VideoStandardType } from './constant';
 
 export interface CheckedSceneTemplate {
   sceneId: number;
@@ -65,6 +65,7 @@ export interface CameraDetailServer extends CameraAddItem {
   workspaceName?: string; // 工位名称
   workspaceCode?: string; // 工位code
   principal?: string; // 工位负责人
+  isDisplayFence: FenceDisplayStatus;
 
   // TODO:以下字段为V4版本之前本interface所具有,V4接口无以下返回,暂保留
   // /** 相机MAC地址 */

+ 11 - 19
src/views/cameras/preview/components/FenceAppSetting/FenceAppSetting.vue

@@ -32,11 +32,11 @@
   import { storeToRefs } from 'pinia';
   import { OptionType } from './constants';
   import { useGlobSetting } from '@/hooks/setting';
+  import { FenceDisplayStatus } from '@/types/camera/constant';
   const valuePreset = ref<[string, string]>();
   const cameraDetailStore = useCameraDetailStore();
   const { isShowFence, detail } = storeToRefs(cameraDetailStore);
 
- 
   const options = ref([]);
 
   const { appPCUrl } = useGlobSetting();
@@ -54,9 +54,8 @@
         options.value = renameKeys(res.algoInfoVOList);
       });
 
-      // FIXME: 该 api 还没有提供
       getAppCameraAlgoPreset(newId).then((res) => {
-         valuePreset.value = [res.algoCode, res.presetToken];
+        valuePreset.value = [res.algoId, res.presetToken];
       });
     },
   );
@@ -65,7 +64,7 @@
     return data.map((item) => {
       const newItem: OptionType = {
         label: item.name,
-        value: item.code,
+        value: item.id,
       };
 
       if (item.presetInfoList) {
@@ -80,26 +79,19 @@
   };
 
   const changeShowFence = async () => {
-    if (isShowFence.value) {
-      const params = {
-        cameraCode: cameraDetailStore.detail?.code!,
-        status: 0,
-      };
-      await updateFenceDisplayStatus(params);
-    } else {
-      const params = {
-        cameraCode: cameraDetailStore.detail?.code!,
-        status: 1,
-      };
-      updateFenceDisplayStatus(params);
-    }
+    const params = {
+      cameraCode: cameraDetailStore.detail?.code!,
+      isDisplayFence: isShowFence.value ? FenceDisplayStatus.enabled : FenceDisplayStatus.disabled,
+    };
+
+    updateFenceDisplayStatus(params);
   };
 
   const changePreset = (value) => {
     console.log('value', value);
     const params = {
-      algoCode: value[0],
-      cameraCode: cameraDetailStore.detail?.code!,
+      algoId: value[0],
+      cameraId: cameraDetailStore.detail?.id!,
       presetToken: value[1],
     };
     choosePreset(params);

+ 1 - 1
src/views/cameras/preview/store/useCameraDetailStore.ts

@@ -48,7 +48,7 @@ const useCameraDetailStore = defineStore('cameraDetail', () => {
       resolution: newDetail.resolution || VideoResolution.HIGH_RESOLUTION,
       period: newDetail.nvrPeriod || 30,
     };
-    isShowFence.value = newDetail.fenceDisplayStatus === FenceDisplayStatus.enabled ? true : false;
+    isShowFence.value = newDetail.isDisplayFence === FenceDisplayStatus.enabled ? true : false;
   };
 
   const clear = () => {