From 8d36c4a0a349f613cb11236fd301484a01e041ad Mon Sep 17 00:00:00 2001
From: 董国庆 <364620639@qq.com>
Date: 星期三, 23 四月 2025 09:25:44 +0800
Subject: [PATCH] 优化状态

---
 src/view/home/index.vue |   42 +++++++++++++++++++++++++++++++-----------
 1 files changed, 31 insertions(+), 11 deletions(-)

diff --git a/src/view/home/index.vue b/src/view/home/index.vue
index ddefce6..b9c4e4c 100644
--- a/src/view/home/index.vue
+++ b/src/view/home/index.vue
@@ -624,7 +624,7 @@
     },
 
     // 初始化视频播放器
-    initVideoPlayer(videoUrl) {
+    initVideoPlayer() {
       console.log('11111',this.serverIp,'2222222222',this.serverPort)
       // 先销毁之前的播放器
       if (this.flvPlayer) {
@@ -654,7 +654,7 @@
               enableStashBuffer: false, // 启用数据缓存机制,提高视频的流畅度和稳定性。
               stashInitialSize: 1024, // 初始缓存大小。单位:字节。建议针对直播:调整为1024kb
               stashInitialTime: 0.2, // 缓存初始时间。单位:秒。建议针对直播:调整为200毫秒
-              seekType: "range", // 建议将其设置为“range”模式,以便更快地加载视频数据,提高视频的实时性。
+              seekType: "range", // 建议将其设置为"range"模式,以便更快地加载视频数据,提高视频的实时性。
               lazyLoad: false, //关闭懒加载模式,从而提高视频的实时性。建议针对直播:调整为false
               lazyLoadMaxDuration: 0.2, // 懒加载的最大时长。单位:秒。建议针对直播:调整为200毫秒
               deferLoadAfterSourceOpen: false, // 不预先加载视频数据,在 MSE(Media Source Extensions)打开后立即加载数据,提高视频的实时性。建议针对直播:调整为false
@@ -665,6 +665,14 @@
             this.flvPlayer
               .play()
               .then((res) => {
+                // 显示视频元素
+                video.style.display = 'block';
+                // 隐藏空状态
+                const emptyElement = video.parentElement.querySelector('.el-empty');
+                if (emptyElement) {
+                  emptyElement.style.display = 'none';
+                }
+                
                 this.videoTimer = setInterval(() => {
                   playDetection(this.carId);
                 }, 5000);
@@ -695,6 +703,16 @@
           this.flvPlayer.detachMediaElement();
           this.flvPlayer.destroy();
           this.flvPlayer = null;
+
+          // 恢复空状态的显示
+          const video = document.getElementById("monitoringCard");
+          if (video) {
+            video.style.display = 'none';
+            const emptyElement = video.parentElement.querySelector('.el-empty');
+            if (emptyElement) {
+              emptyElement.style.display = 'block';
+            }
+          }
         });
       }
     },
@@ -714,16 +732,18 @@
     listRender(record) {
       return `<div style="background: #ffffff; padding: 24px 20px;z-index: 999">
         <div style="position: relative; width: 460px; height: 330px">
-        
-          <video
+          <div style="width: 460px; height: 330px; border-radius: 9px; background: #f5f5f5; display: flex; justify-content: center; align-items: center; flex-direction: column">
+            <video
               ref="video"
-               style="width: 460px; height: 330px; border-radius: 9px" 
-               id="monitoringCard"
-               ref="monitoringCard"
-                :controls="false"
-                autoPlay
-                width="620">
-              </video>
+              style="width: 460px; height: 330px; border-radius: 9px; display: none" 
+              id="monitoringCard"
+              ref="monitoringCard"
+              :controls="false"
+              autoPlay
+              width="620">
+            </video>
+            <el-empty description="暂无视频信息" :image-size="80"></el-empty>
+          </div>
           <canvas id="myCanvas" style="display:none"></canvas>
           <div style="position: absolute; right: 11px; top: 10px">
             <div style="display: flex;flex-direction: column;align-items: center;justify-content: center;

--
Gitblit v1.7.1