From db3144ac12d860c22e138fa9deb4c22c9ed3ae96 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 27 May 2024 19:05:43 +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/core-frontend/src/websocket/index.ts | 35 +++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 core/core-frontend/src/websocket/index.ts diff --git a/core/core-frontend/src/websocket/index.ts b/core/core-frontend/src/websocket/index.ts new file mode 100644 index 0000000000..49ea0437c6 --- /dev/null +++ b/core/core-frontend/src/websocket/index.ts @@ -0,0 +1,35 @@ +import SockJS from 'sockjs-client/dist/sockjs.min.js' +import Stomp from 'stompjs' +import eventBus from '@/utils/eventBus' +let stompClient: Stomp.Client + +export default { + install() { + const channels = [ + { + topic: '/task-export-topic', + event: 'task-export-topic-call' + } + ] + + const socket = new SockJS('http://localhost:8100' + '/websocket' + '?userId=1') + stompClient = Stomp.over(socket) + const heads = { + userId: 1 + } + stompClient.connect( + heads, + res => { + console.log('连接成功: ' + res) + channels.forEach(channel => { + stompClient.subscribe('/user/' + 1 + channel.topic, res => { + res && res.body && eventBus.emit(channel.event, res.body) + }) + }) + }, + error => { + console.log('连接失败: ' + error) + } + ) + } +}