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