Преглед на файлове

fix:页面休眠时停止定时器

luoy преди 16 часа
родител
ревизия
919d1a321a
променени са 3 файла, в които са добавени 28 реда и са изтрити 5 реда
  1. 2 2
      .env
  2. 23 3
      src/views/home/user-info.vue
  3. 3 0
      src/views/marketing/push-logs/index.vue

+ 2 - 2
.env

@@ -6,8 +6,8 @@ VITE_PUBLIC_PATH = /
 
 # 后端请求前缀
 # VITE_API_URL = http://192.168.10.101:9999
-# VITE_API_URL = http://192.168.3.118:9999
- VITE_API_URL = http://192.168.3.17:9999
+VITE_API_URL = http://192.168.3.118:9999
+#  VITE_API_URL = http://192.168.3.17:9999
 
 # OAUTH2 密码模式客户端信息
 VITE_OAUTH2_PASSWORD_CLIENT='pig:pig'

+ 23 - 3
src/views/home/user-info.vue

@@ -277,15 +277,35 @@ const getUserMsg = async () => {
   await nextTick()
   scrollToBottomForTable()
 }
+// 页面激活时触发(包括首次加载)
 onMounted(() => {
+  // 启动初始数据获取和定时器
   getUserMsg()
   getUserTime.value = setInterval(() => {
     getUserMsg()
-  }, 10  * 1000)
-});
+  }, 10 * 1000)
+})
+onActivated(() => {
+  // 启动初始数据获取和定时器
+  getUserMsg()
+  getUserTime.value = setInterval(() => {
+    getUserMsg()
+  }, 3 * 1000)
+})
 
+// 页面失活时触发
+onDeactivated(() => {
+  // 组件失活时清除定时器
+  if (getUserTime.value) {
+    clearInterval(getUserTime.value)
+  }
+})
+
+// 组件卸载时清除定时器(作为额外保障)
 onUnmounted(() => {
-  clearInterval(getUserTime.value);
+  if (getUserTime.value) {
+    clearInterval(getUserTime.value)
+  }
 })
 
 const goLogs = (clientID: string) => {

+ 3 - 0
src/views/marketing/push-logs/index.vue

@@ -28,6 +28,9 @@
           show-overflow-tooltip></el-table-column>
         <el-table-column :formatter="statusFormatter" :label="'推送域名'" prop="pushDomain" min-width="200"
           show-overflow-tooltip></el-table-column> -->
+        <el-table-column :label="'客户端ID'" prop="clientId" min-width="200"
+          show-overflow-tooltip>
+        </el-table-column>
         <el-table-column :formatter="statusFormatter" :label="'推送内容'" prop="pushContent" min-width="200"
           show-overflow-tooltip>
           <template #default="{ row }">