From 9fe113a778a94823185a1fa35ab316987b2f3220 Mon Sep 17 00:00:00 2001
From: wangfei <3597712270@qq.com>
Date: 星期四, 15 五月 2025 09:25:01 +0800
Subject: [PATCH] 前端定时清理websockect推送数据在浏览器的缓存
---
UI-Project/src/views/largescreendisplay/screendisplay.vue | 38 ++++++++++++++++++++++++++++++++++++++
1 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/UI-Project/src/views/largescreendisplay/screendisplay.vue b/UI-Project/src/views/largescreendisplay/screendisplay.vue
index eeb630a..11dad86 100644
--- a/UI-Project/src/views/largescreendisplay/screendisplay.vue
+++ b/UI-Project/src/views/largescreendisplay/screendisplay.vue
@@ -145,6 +145,7 @@
z: 1
}));
+
const optionOne = {
title: {
text: title,
@@ -522,6 +523,28 @@
const chartTemp = ref(null)
const chartHollow = ref(null)
+const cleanupWebSocketData = (completeCleanup) => {
+ if (completeCleanup) {
+ // 瀹屽叏娓呯悊
+ rawGlassStorageDetailList.value = [];
+ orderDTOS.value = [];
+ // ...鍏朵粬鏁扮粍
+ } else {
+ // 閮ㄥ垎娓呯悊 - 淇濈暀鏈�杩戞暟鎹�
+ const MAX_ITEMS = 50;
+ rawGlassStorageDetailList.value = rawGlassStorageDetailList.value.slice(-MAX_ITEMS);
+ orderDTOS.value = orderDTOS.value.slice(-MAX_ITEMS);
+ // ...鍏朵粬鏁扮粍
+ }
+
+ // 娓呯悊鍥捐〃
+ [myChart, myChart2, myChartLoad, myChartEdg, myChartTemp, myChartHollow].forEach(chart => {
+ if (chart) {
+ chart.clear();
+ // 濡傛灉闇�瑕侊紝鍙互閲嶆柊鍒濆鍖栧浘琛�
+ }
+ });
+};
// 鍦ㄧ粍浠舵寕杞芥椂璁剧疆榛樿鏃堕棿鑼冨洿
onMounted(async () => {
@@ -541,6 +564,21 @@
// 璁剧疆鏃堕棿鑼冨洿涓� [寮�濮嬫椂闂�, 缁撴潫鏃堕棿]
// timeRange.value = [startTime.format('YYYY-MM-DD HH:mm:ss'), endTime.format('YYYY-MM-DD HH:mm:ss')];
+ const cleanupInterval = setInterval(() => {
+ cleanupWebSocketData(true); // 瀹屽叏娓呯悊
+ }, 3000);
+
+ // 姣忔鏀跺埌娑堟伅鏃舵鏌ユ暟鎹噺
+ const originalHandleMessage = handleMessage;
+ handleMessage = (data) => {
+ originalHandleMessage(data);
+ cleanupWebSocketData(false); // 閮ㄥ垎娓呯悊
+ };
+
+ onUnmounted(() => {
+ clearInterval(cleanupInterval);
+ cleanupWebSocketData(true); // 缁勪欢鍗歌浇鏃跺畬鍏ㄦ竻鐞�
+ });
});
// onMounted(() => {
// socket = initializeWebSocket(socketUrl, handleMessage);
--
Gitblit v1.8.0