From fac3e813d205f000125eb8f7b2dd4976f4166edf Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期四, 15 五月 2025 00:25:09 +0800
Subject: [PATCH] 动态溯源功能调试中

---
 src/views/sourcetrace/SourceTrace.vue |   55 ++++++++++++++++++++-----------------------------------
 1 files changed, 20 insertions(+), 35 deletions(-)

diff --git a/src/views/sourcetrace/SourceTrace.vue b/src/views/sourcetrace/SourceTrace.vue
index a58da81..b74df34 100644
--- a/src/views/sourcetrace/SourceTrace.vue
+++ b/src/views/sourcetrace/SourceTrace.vue
@@ -10,7 +10,11 @@
       <el-scrollbar ref="scrollbarRef" :height="height">
         <div ref="scrollContentRef">
           <div v-for="(item, index) in streams" :key="index">
-            <el-text type="primary">[{{ item }}]: </el-text>
+            <el-text type="primary">{{ item.guid }}</el-text>
+            <el-text type="primary">{{ ' | ' + item.status }}</el-text>
+            <el-text type="primary">{{ ' | ' + item.startTime }}</el-text>
+            <el-text type="primary">{{ ' | ' + item.endTime }}</el-text>
+            <el-divider />
           </div>
         </div>
       </el-scrollbar>
@@ -18,8 +22,12 @@
   </BaseCard>
 </template>
 <script setup>
+/**
+ * 鍔ㄦ�佹函婧愪俊鎭鐞�
+ * 閫氳繃websocket鏂瑰紡鎺ユ敹鍚庣鎺ㄩ�佺殑寮傚父淇℃伅骞跺睍绀�
+ */
 import { reactive, ref, onMounted, onUnmounted, inject } from 'vue';
-import { ws } from '@/api/index';
+import websocket from '@/api/websocket';
 
 const height = `60vh`;
 
@@ -35,48 +43,25 @@
 
 const streams = reactive([]);
 
-let socket;
-
 const inputVal = ref('');
 const handleSend = () => {
-  if (socket) {
-    socket.send(inputVal.value);
-  }
-};
-
-const handleLink = () => {
-  if (socket) {
-    socket.close();
-  }
-  const url = 'ws://' + ws + '/ws';
-  // socket = new WebSocket(`ws://192.168.0.138:8080/workstream`)
-  socket = new WebSocket(url);
-  // 涓庢湇鍔″櫒寤虹珛杩炴帴锛氬彂閫佹秷鎭埌鏈嶅姟鍣�
-  socket.onopen = () => {
-    console.log('connect: ');
-  };
-  // 鏀跺埌鏈嶅姟鍣ㄥ彂閫佺殑娑堟伅锛歟vent澶勭悊鏈嶅姟鍣ㄨ繑鍥炵殑鏁版嵁
-  socket.onmessage = (event) => {
-    console.log('receive: ', event.data);
-    putWorkStream(event.data);
-  };
-  // 杩炴帴鎴栭�氫俊杩囩▼涓彂鐢熼敊璇�
-  socket.onerror = (event) => {
-    console.log('errror: ', event);
-  };
-  // 涓庢湇鍔″櫒鏂紑杩炴帴
-  socket.onclose = (event) => {
-    console.log('close: ', event.code);
-  };
+  websocket.send(inputVal.value);
 };
 
 /**
  * 娣诲姞涓�鏉″伐浣滄祦淇℃伅
  * @param {*} data
  */
-function putWorkStream(data) {
+const putWorkStream = (data) => {
   const obj = JSON.parse(data);
   streams.push(obj);
   scrollToBottom();
-}
+};
+
+onMounted(() => {
+  websocket.registerReceiveEvent(putWorkStream);
+});
+onUnmounted(() => {
+  websocket.removeReceiveEvent(putWorkStream);
+});
 </script>

--
Gitblit v1.9.3