mirror of https://gitee.com/stylefeng/roses
修改WebSocket获取userId的方式
parent
439eab3f21
commit
4921a9ecc6
|
@ -171,8 +171,8 @@ public class LoginUser implements Serializable {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, Long> params = new HashMap<>(1);
|
Map<String, String> params = new HashMap<>(1);
|
||||||
params.put("userId", this.userId);
|
params.put("token", this.token);
|
||||||
return StrUtil.format(this.wsUrl, params);
|
return StrUtil.format(this.wsUrl, params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package cn.stylefeng.roses.kernel.socket.business.websocket.server;
|
||||||
|
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
import cn.stylefeng.roses.kernel.jwt.api.context.JwtContext;
|
import cn.stylefeng.roses.kernel.jwt.api.context.JwtContext;
|
||||||
|
import cn.stylefeng.roses.kernel.jwt.api.pojo.payload.DefaultJwtPayload;
|
||||||
import cn.stylefeng.roses.kernel.socket.api.enums.ClientMessageTypeEnum;
|
import cn.stylefeng.roses.kernel.socket.api.enums.ClientMessageTypeEnum;
|
||||||
import cn.stylefeng.roses.kernel.socket.api.enums.ServerMessageTypeEnum;
|
import cn.stylefeng.roses.kernel.socket.api.enums.ServerMessageTypeEnum;
|
||||||
import cn.stylefeng.roses.kernel.socket.api.message.SocketMsgCallbackInterface;
|
import cn.stylefeng.roses.kernel.socket.api.message.SocketMsgCallbackInterface;
|
||||||
|
@ -17,6 +18,7 @@ import org.springframework.stereotype.Component;
|
||||||
import javax.websocket.*;
|
import javax.websocket.*;
|
||||||
import javax.websocket.server.PathParam;
|
import javax.websocket.server.PathParam;
|
||||||
import javax.websocket.server.ServerEndpoint;
|
import javax.websocket.server.ServerEndpoint;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 消息监听处理器
|
* 消息监听处理器
|
||||||
|
@ -25,7 +27,7 @@ import javax.websocket.server.ServerEndpoint;
|
||||||
* @date 2021/6/1 下午2:35
|
* @date 2021/6/1 下午2:35
|
||||||
*/
|
*/
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@ServerEndpoint(value = "/webSocket/{userId}")
|
@ServerEndpoint(value = "/webSocket/{token}")
|
||||||
@Component
|
@Component
|
||||||
public class WebSocketServer {
|
public class WebSocketServer {
|
||||||
|
|
||||||
|
@ -39,7 +41,20 @@ public class WebSocketServer {
|
||||||
* @date 2021/6/21 下午5:14
|
* @date 2021/6/21 下午5:14
|
||||||
**/
|
**/
|
||||||
@OnOpen
|
@OnOpen
|
||||||
public void onOpen(Session session, @PathParam("userId") String userId) {
|
public void onOpen(Session session, @PathParam("token") String token) {
|
||||||
|
String userId = null;
|
||||||
|
try {
|
||||||
|
// 解析用户信息
|
||||||
|
DefaultJwtPayload defaultPayload = JwtContext.me().getDefaultPayload(token);
|
||||||
|
userId = defaultPayload.getUserId().toString();
|
||||||
|
} catch (io.jsonwebtoken.JwtException e) {
|
||||||
|
try {
|
||||||
|
session.close();
|
||||||
|
} catch (IOException ioException) {
|
||||||
|
ioException.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 操作api包装
|
// 操作api包装
|
||||||
GunsSocketOperator GunsSocketOperator = new GunsSocketOperator(session);
|
GunsSocketOperator GunsSocketOperator = new GunsSocketOperator(session);
|
||||||
|
|
||||||
|
@ -65,6 +80,7 @@ public class WebSocketServer {
|
||||||
// 回复消息
|
// 回复消息
|
||||||
GunsSocketOperator.writeAndFlush(replyMsg);
|
GunsSocketOperator.writeAndFlush(replyMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue