Junjie
2024-04-03 e2a1dfdf96e9d81baf537ae49d5ef21208170b11
Merge remote-tracking branch 'origin/Four-Way-Rack' into Four-Way-Rack
2个文件已修改
2个文件已添加
87 ■■■■■ 已修改文件
zy-asrs-flow/src/pages/map/index.jsx 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-flow/src/pages/map/websocket.js 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/common/config/WebSocketConfig.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapWebsocket.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
    }, []);
zy-asrs-flow/src/pages/map/websocket.js
New file
@@ -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);
        // 在这里处理WebSocket错误
    };
    // 连接关闭时触发
    webSocket.onclose = function (event) {
        console.log('WebSocket connection closed:', event);
        // 在这里处理连接关闭事件
        // 你可能想要重新连接或对用户进行友好提示
    };
    // 请求关闭WebSocket连接(主动关闭),你可以从其他函数调用这个
    const closeWebSocket = () => {
        if (webSocket.readyState === WebSocket.OPEN) {
            webSocket.close(); // 这将触发'onclose'事件
        }
    };
    return {
        webSocket,
        closeWebSocket
    };
};
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");
    }
}
zy-asrs-wcs/src/main/java/com/zy/asrs/wcs/core/map/websocket/MapWebsocket.java
New file
@@ -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);
    }
}