From d520d060262e581435882aa7b7fc79d5b3fb8897 Mon Sep 17 00:00:00 2001 From: zrh050423 <14331304+zrh050423@user.noreply.gitee.com> Date: Sun, 22 Dec 2024 15:02:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=A4=B4=E9=83=A8=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2009 +++++++++++++++++ .../healthsystem/HealthSystemApplication.java | 1 + .../config/JwtAuthenticationFilter.java | 2 +- .../config/MessageEventHandler.java | 29 + .../edu/zrh/healthsystem/model/Message.java | 9 +- 5 files changed, 2046 insertions(+), 4 deletions(-) create mode 100644 src/main/java/edu/zrh/healthsystem/config/MessageEventHandler.java diff --git a/pom.xml b/pom.xml index 8c05a0a..80f4f2b 100644 --- a/pom.xml +++ b/pom.xml @@ -180,6 +180,2015 @@ org.springframework.boot spring-boot-starter-websocket + + com.corundumstudio.socketio + netty-socketio + 1.7.18 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/edu/zrh/healthsystem/HealthSystemApplication.java b/src/main/java/edu/zrh/healthsystem/HealthSystemApplication.java index 7539046..c0fd6d3 100644 --- a/src/main/java/edu/zrh/healthsystem/HealthSystemApplication.java +++ b/src/main/java/edu/zrh/healthsystem/HealthSystemApplication.java @@ -18,4 +18,5 @@ public class HealthSystemApplication { SpringApplication.run(HealthSystemApplication.class, args); } + } diff --git a/src/main/java/edu/zrh/healthsystem/config/JwtAuthenticationFilter.java b/src/main/java/edu/zrh/healthsystem/config/JwtAuthenticationFilter.java index 70f53e3..6488462 100644 --- a/src/main/java/edu/zrh/healthsystem/config/JwtAuthenticationFilter.java +++ b/src/main/java/edu/zrh/healthsystem/config/JwtAuthenticationFilter.java @@ -26,7 +26,7 @@ public class JwtAuthenticationFilter extends OncePerRequestFilter { // 仅对非登录和注册请求进行过滤 String uri = request.getRequestURI(); - if (uri.contains("/login") || uri.contains("/register")) { + if (uri.contains("/login") || uri.contains("/register")||uri.contains("/socket.io")||uri.contains("/ws")) { filterChain.doFilter(request, response); return; // 如果是登录或注册接口,直接通过,不做 token 验证 } diff --git a/src/main/java/edu/zrh/healthsystem/config/MessageEventHandler.java b/src/main/java/edu/zrh/healthsystem/config/MessageEventHandler.java new file mode 100644 index 0000000..7e8a956 --- /dev/null +++ b/src/main/java/edu/zrh/healthsystem/config/MessageEventHandler.java @@ -0,0 +1,29 @@ +package edu.zrh.healthsystem.config; + +import com.corundumstudio.socketio.AckRequest; +import com.corundumstudio.socketio.SocketIOClient; +import com.corundumstudio.socketio.annotation.OnConnect; +import com.corundumstudio.socketio.annotation.OnDisconnect; +import com.corundumstudio.socketio.annotation.OnEvent; +import edu.zrh.healthsystem.model.Message; +import org.springframework.stereotype.Component; + +@Component +public class MessageEventHandler { + + @OnConnect + public void onConnect(SocketIOClient client) { + // 客户端连接时调用 + } + + @OnDisconnect + public void onDisconnect(SocketIOClient client) { + // 客户端断开连接时调用 + } + + @OnEvent(value = "send") + public void onSendMessage(SocketIOClient client, AckRequest request, Message message) { + // 接收到客户端发送的消息时调用 + client.getNamespace().getBroadcastOperations().sendEvent("topic/message", message); + } +} diff --git a/src/main/java/edu/zrh/healthsystem/model/Message.java b/src/main/java/edu/zrh/healthsystem/model/Message.java index 7b87390..3abc3ee 100644 --- a/src/main/java/edu/zrh/healthsystem/model/Message.java +++ b/src/main/java/edu/zrh/healthsystem/model/Message.java @@ -2,7 +2,10 @@ package edu.zrh.healthsystem.model; import lombok.Data; +/** + * @author han + */ public @Data class Message { - private String role="user"; - private String content; -} \ No newline at end of file + private String from; + private String text; +}