From e2a1dfdf96e9d81baf537ae49d5ef21208170b11 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期三, 03 四月 2024 12:49:48 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/Four-Way-Rack' into Four-Way-Rack

---
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/config/WebSocketConfig.java   |    5 --
 zy-asrs-flow/src/pages/map/websocket.js                                        |   42 +++++++++++++++++++++
 zy-asrs-flow/src/pages/map/index.jsx                                           |    3 +
 zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapWebsocket.java |   37 ++++++++++++++++++
 4 files changed, 82 insertions(+), 5 deletions(-)

diff --git a/zy-asrs-flow/src/pages/map/index.jsx b/zy-asrs-flow/src/pages/map/index.jsx
index 03d7388..5709878 100644
--- a/zy-asrs-flow/src/pages/map/index.jsx
+++ b/zy-asrs-flow/src/pages/map/index.jsx
@@ -15,6 +15,7 @@
 import Edit from './components/device';
 import Settings from './components/settings'
 import * as Utils from './utils'
+import * as Websocket from './websocket'
 import Player from './player';
 import MapSearch from './header/search';
 import MapFloor from './header/floor';
@@ -122,6 +123,8 @@
                 player.adaptScreen();
                 Utils.mapNotify(intl.formatMessage({ id: 'map.load.success', defaultMessage: '娆㈣繋浣跨敤WCS绯荤粺' }));
             }, 200)
+
+            Websocket.createWs();
         }
         initialize();
     }, []);
diff --git a/zy-asrs-flow/src/pages/map/websocket.js b/zy-asrs-flow/src/pages/map/websocket.js
new file mode 100644
index 0000000..20dea9b
--- /dev/null
+++ b/zy-asrs-flow/src/pages/map/websocket.js
@@ -0,0 +1,42 @@
+export const createWs = () => {
+    console.log('Creating WebSocket connection...');
+    const webSocket = new WebSocket('ws://127.0.0.1:9090/wcs/map/websocket');
+
+    // 杩炴帴鎵撳紑鏃惰Е鍙�
+    webSocket.onopen = function (event) {
+        console.log('WebSocket connection opened:', event);
+        // 鍦ㄦ娣诲姞鍙互鍦ㄨ繛鎺ユ墦寮�鏃跺彂閫佺殑浠讳綍娑堟伅
+        // webSocket.send('Hello Server!');
+    };
+
+    // 浠庢湇鍔″櫒鎺ユ敹鍒版秷鎭椂瑙﹀彂
+    webSocket.onmessage = function (event) {
+        console.log('WebSocket message received:', event.data);
+        // 鍦ㄨ繖閲屽鐞嗘帴鏀跺埌鐨勬秷鎭�
+    };
+
+    // 鍑虹幇閿欒鏃惰Е鍙�
+    webSocket.onerror = function (event) {
+        console.error('WebSocket error observed:', event);
+        // 鍦ㄨ繖閲屽鐞哤ebSocket閿欒
+    };
+
+    // 杩炴帴鍏抽棴鏃惰Е鍙�
+    webSocket.onclose = function (event) {
+        console.log('WebSocket connection closed:', event);
+        // 鍦ㄨ繖閲屽鐞嗚繛鎺ュ叧闂簨浠�
+        // 浣犲彲鑳芥兂瑕侀噸鏂拌繛鎺ユ垨瀵圭敤鎴疯繘琛屽弸濂芥彁绀�
+    };
+
+    // 璇锋眰鍏抽棴WebSocket杩炴帴锛堜富鍔ㄥ叧闂級锛屼綘鍙互浠庡叾浠栧嚱鏁拌皟鐢ㄨ繖涓�
+    const closeWebSocket = () => {
+        if (webSocket.readyState === WebSocket.OPEN) {
+            webSocket.close(); // 杩欏皢瑙﹀彂'onclose'浜嬩欢
+        }
+    };
+
+    return {
+        webSocket,
+        closeWebSocket
+    };
+};
\ No newline at end of file
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/config/WebSocketConfig.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/config/WebSocketConfig.java
index 2df1e87..369166f 100644
--- a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/config/WebSocketConfig.java
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/config/WebSocketConfig.java
@@ -6,7 +6,6 @@
 import org.springframework.web.socket.server.standard.ServerEndpointExporter;
 
 @Configuration
-@EnableWebSocketMessageBroker
 public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
 
     @Bean
@@ -14,9 +13,5 @@
         return new ServerEndpointExporter();
     }
 
-    @Override
-    public void registerStompEndpoints(StompEndpointRegistry registry) {
-        registry.addEndpoint("/api/socket");
-    }
 }
 
diff --git a/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapWebsocket.java b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapWebsocket.java
new file mode 100644
index 0000000..49dad31
--- /dev/null
+++ b/zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapWebsocket.java
@@ -0,0 +1,37 @@
+package com.zy.asrs.wcs.core.map.websocket;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.websocket.OnClose;
+import javax.websocket.OnMessage;
+import javax.websocket.OnOpen;
+import javax.websocket.Session;
+import javax.websocket.server.ServerEndpoint;
+
+@Slf4j
+@Component
+@ServerEndpoint(value = "/map/websocket")
+public class MapWebsocket {
+
+    private Session session;
+    private String sessionId;
+
+    @OnOpen
+    public void onOpen(Session session) {
+        this.session = session;
+        this.sessionId = session.getId();
+        log.info("{} connected", this.sessionId);
+    }
+
+    @OnMessage
+    public void onMessage(String message, Session session) {
+        log.info("{} sendMsg:{}", this.sessionId, message);
+    }
+
+    @OnClose
+    public void onClose(Session session) {
+        log.info("{} closed", this.sessionId);
+    }
+
+}

--
Gitblit v1.9.1