Преглед изворни кода

fix: 在内网也能看到视频流地址

louhangfei пре 1 година
родитељ
комит
8ca4507715

+ 23 - 15
src/api/camera/camera-overview.ts

@@ -75,10 +75,13 @@ export interface CameraDetailServer {
   integrationState: number;
   /** 状态: 0-启用, 1-禁用 */
   status: number;
-  /** 相机流 */
   pushstreamIp: string;
-  /** 渲染相机流 */
+  // 视频流绝对地址
+  pushstreamIpAbs: string;
+  /** 渲染框的视频流相对地址 */
   pushstreamRenderUrl: string;
+  /** 渲染框的视频流绝对地址 */
+  pushstreamRenderUrlAbs: string;
   /** 工位code */
   workspaceCode: string;
 
@@ -183,21 +186,26 @@ export const addNVRCameraItem = (data: CameraNVRItem) => {
   });
 };
 
-
 // 批量添加相机 - 下载场景code
 export function downloadSpaceCode() {
-  return http.request({
-    url: '/addCameraList/downloadWorkspaceCodeForm',
-    method: 'get',
-    responseType: 'blob',
-  }, { isShowErrorMessage: false, isTransformResponse: false });
-};
+  return http.request(
+    {
+      url: '/addCameraList/downloadWorkspaceCodeForm',
+      method: 'get',
+      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 });
-};
+  return http.request(
+    {
+      url: '/skyeye/CAMERALIST_TEMPLATE/camera-upload-template.xlsx',
+      method: 'get',
+      responseType: 'blob',
+    },
+    { urlPrefix: '/skyeye-file-upload', isShowErrorMessage: false, isTransformResponse: false },
+  );
+}

+ 20 - 11
src/views/cameras/preview/components/CameraLiveVideo/CameraLiveVideo.vue

@@ -1,21 +1,30 @@
 <template>
-  <LiveVideo
-    :url="
-      cameraDetailStore.detail?.render
-        ? cameraDetailStore.detail?.pushstreamRenderUrl
-        : cameraDetailStore.detail?.pushstreamIp
-    "
-    v-if="cameraDetailStore.detail?.pushstreamIp"
-  />
-  <div v-if="!cameraDetailStore.detail?.pushstreamIp" class="noPushStreamIpTip"
-    >暂无相机视频流地址</div
-  >
+  <LiveVideo :url="videoUrl" v-if="videoUrl" />
+  <div v-if="!videoUrl" class="noPushStreamIpTip">暂无相机视频流地址</div>
 </template>
 <script lang="ts" setup>
   // import bg from '@/assets/images/camera/video-live.png';
   import LiveVideo from '@/components/LiveVideo/LiveVideo.vue';
+  import { storeToRefs } from 'pinia';
+  import { computed } from 'vue';
   import useCameraDetailStore from '../../store/useCameraDetailStore';
   const cameraDetailStore = useCameraDetailStore();
+  const skyeyeVideoPath = localStorage.getItem('skyeyeVideoPath');
+  const { detail } = storeToRefs(cameraDetailStore);
+
+  const videoUrl = computed(() => {
+    if (detail.value?.render) {
+      if (skyeyeVideoPath === 'abs') {
+        return detail.value?.pushstreamRenderUrlAbs;
+      }
+      return detail.value?.pushstreamRenderUrl;
+    } else {
+      if (skyeyeVideoPath === 'abs') {
+        return detail?.value?.pushstreamIpAbs;
+      }
+      return detail?.value?.pushstreamIp;
+    }
+  });
 </script>
 <style>
   .noPushStreamIpTip {