From e66337f3ab8a76ede676f77982bf3ca0c5096250 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 28 May 2024 17:58:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E5=AF=BC=E5=87=BA?= =?UTF-8?q?=E4=B8=AD=E5=BF=83=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core-frontend/src/assets/svg/variable.svg | 1 + .../data-visualization/canvas/DePreview.vue | 1 - .../src/pages/panel/ViewWrapper.vue | 1 - core/core-frontend/src/websocket/index.ts | 26 +++++-------------- 4 files changed, 8 insertions(+), 21 deletions(-) create mode 100644 core/core-frontend/src/assets/svg/variable.svg diff --git a/core/core-frontend/src/assets/svg/variable.svg b/core/core-frontend/src/assets/svg/variable.svg new file mode 100644 index 0000000000..12f4475837 --- /dev/null +++ b/core/core-frontend/src/assets/svg/variable.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue b/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue index ad3fd43e63..88424cf0e0 100644 --- a/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue +++ b/core/core-frontend/src/components/data-visualization/canvas/DePreview.vue @@ -238,7 +238,6 @@ const initWatermark = (waterDomId = 'preview-canvas-main') => { // 目标校验: 需要校验targetSourceId 是否是当前可视化资源ID const winMsgHandle = event => { - console.info('PostMessage Params Received') const msgInfo = event.data // 校验targetSourceId if ( diff --git a/core/core-frontend/src/pages/panel/ViewWrapper.vue b/core/core-frontend/src/pages/panel/ViewWrapper.vue index 420879cfc2..dab3b03ff8 100644 --- a/core/core-frontend/src/pages/panel/ViewWrapper.vue +++ b/core/core-frontend/src/pages/panel/ViewWrapper.vue @@ -29,7 +29,6 @@ const state = reactive({ // 目标校验: 需要校验targetSourceId 是否是当前可视化资源ID const winMsgHandle = event => { - console.info('PostMessage Params Received') const msgInfo = event.data // 校验targetSourceId if (msgInfo && msgInfo.type === 'attachParams' && msgInfo.targetSourceId === state.chartId + '') { diff --git a/core/core-frontend/src/websocket/index.ts b/core/core-frontend/src/websocket/index.ts index 33ebd4cc0f..18424c9609 100644 --- a/core/core-frontend/src/websocket/index.ts +++ b/core/core-frontend/src/websocket/index.ts @@ -2,11 +2,9 @@ import SockJS from 'sockjs-client/dist/sockjs.min.js' import Stomp from 'stompjs' import eventBus from '@/utils/eventBus' import { useCache } from '@/hooks/web/useCache' -import { ref } from 'vue' const { wsCache } = useCache() let stompClient: Stomp.Client let timeInterval: NodeJS.Timer | null = null -const isDisconnect = ref(true) export default { install() { @@ -32,14 +30,10 @@ export default { if (!isLoginStatus()) { return } - let prefix = '/' - if (window.DataEaseBi?.baseUrl) { - prefix = window.DataEaseBi.baseUrl - } else { - const href = window.location.href - prefix = href.substring(0, href.indexOf('#')) + if (stompClient !== null && stompClient != undefined && stompClient.connected) { + return } - const socket = new SockJS(prefix + 'websocket?userId=' + wsCache.get('user.uid')) + const socket = new SockJS('http://localhost:8100/websocket?userId=' + wsCache.get('user.uid')) stompClient = Stomp.over(socket) const heads = { userId: wsCache.get('user.uid') @@ -47,7 +41,6 @@ export default { stompClient.connect( heads, res => { - isDisconnect.value = false channels.forEach(channel => { stompClient.subscribe('/user/' + wsCache.get('user.uid') + channel.topic, res => { res && res.body && eventBus.emit(channel.event, res.body) @@ -61,13 +54,13 @@ export default { } function disconnect() { - if (!isDisconnect.value && stompClient != undefined) { + if (stompClient !== null && stompClient != undefined && !stompClient.connected) { stompClient.disconnect( function () { - isDisconnect.value = true + console.log('断开连接') }, function (error) { - isDisconnect.value = false + console.log('断开连接失败: ' + error) } ) } @@ -80,12 +73,7 @@ export default { disconnect() return } - if (isDisconnect.value) { - connection() - } - try { - stompClient.send('heart detection') - } catch (error) { + if (stompClient !== null && stompClient != undefined && !stompClient.connected) { connection() } }, 5000)