当前位置: 首页 > news >正文

高端网站设计定制公司营销方式和渠道

高端网站设计定制公司,营销方式和渠道,wordpress文章页面修改,贵阳网站建设设计公司哪家好1.遇到问题 公司项目是基于ruoyi 框架快速搭建开发,使用多线程搜索查询,所以以用户区分任务,保证可以搜索任务和取消搜索,所以我这需要获得用户id,使用 SecurityUtils 共工工具类从请求头获取token,然后解…

1.遇到问题 

        公司项目是基于ruoyi 框架快速搭建开发,使用多线程搜索查询,所以以用户区分任务,保证可以搜索任务和取消搜索,所以我这需要获得用户id,使用 SecurityUtils 共工工具类从请求头获取token,然后解析得到用户基本信息和权限。在开发的过程中正常使用,建立socket连接也正常,但是在后续发消息的时候,在后续将代码移动websocket 出现获取用户ID 异常的错误,其实在获取 loginUser 是空的。

/*** 安全服务工具类* * @author trinity*/
public class SecurityUtils
{/*** 用户ID**/public static Long getUserId(){try{return getLoginUser().getUserId();}catch (Exception e){throw new ServiceException("获取用户ID异常", HttpStatus.UNAUTHORIZED);}}

  2.解决思路

        1.同事告诉我可以采用另外一种方式,建立连接的时候将让前端传过来,让后将userId和session存放一起,以下代码就可以实现。

@Slf4j
@Component
@ServerEndpoint(value = "/websocket/{userid}")
public class SearchSocketServer {@OnOpenpublic void onOpen(Session session, @PathParam("userid") String userid) {log.info("WebSocket connection opened for userid: {}", userid);// 处理其他逻辑...}
}

        上面是基于注解开发,实现起来的简单。我也问了前端同事是否可以我传用户id,回答也是是。我这人就是最求代码高bi格,就使用下面了这种

        实现 HandshakeInterceptor 接口 就能在 websocket 三次握手 四次挥手 (至于websocket用的什么不清楚),因为socket 建立其实发消息其实就不会发请求了,也就是我在代码中获取不到用户id的问题所在。所以我只要在建立socket 请求时获取用户id 写到请求头里后面就可以无限使用了。不知道还有没有更好的方式

/*** @author LJL* @version 1.0* @title IdHandshakeInterceptor* @date 2023/8/25 9:18* @description TODO*/
public class IdHandshakeInterceptor  implements HandshakeInterceptor {@Overridepublic boolean beforeHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Map<String, Object> attributes) throws Exception {// 从外部请求中获取id,并设置到WebSocket的属性中Long uid = SecurityUtils.getUserId();attributes.put("uid", uid);return true;}@Overridepublic void afterHandshake(ServerHttpRequest request, ServerHttpResponse response, WebSocketHandler wsHandler, Exception exception) {// 握手完成后的处理逻辑(可选)}
}

        实现了拦截器别忘记添加进去 

@Configuration
@EnableWebSocket
public class SpringSocketConfig implements WebSocketConfigurer {@Autowiredprivate SpringSocketHandle springSocketHandle;@Autowiredprivate SpringAbstractWebSocketHandler springAbstractWebSocketHandler;@Overridepublic void registerWebSocketHandlers(WebSocketHandlerRegistry registry) {registry.addHandler(springSocketHandle, "/spring-ws").setAllowedOrigins("*").addHandler(springAbstractWebSocketHandler, "/spring-ws1").addInterceptors(new IdHandshakeInterceptor()).setAllowedOrigins("*");}
http://www.shuangfujiaoyu.com/news/2269.html

相关文章:

  • 做网站一定要用ps吗危机公关处理
  • 长治建一个网站大概要多少钱长沙seo网站排名优化公司
  • b2b网站想申请支付宝借口适合35岁女人的培训班
  • 手机微信客户端网站建设游戏推广代理
  • 做国际网站seo搜索优化工程师招聘
  • 7 the wordpress潍坊网站建设优化
  • 网站改版怎么做搜索引擎网络排名
  • layui响应式网站开发教程适合成人参加的培训班
  • 湛江网站建设方案维护如何做好网络宣传工作
  • 免费的自建视频网站seo中国是什么
  • 网站导航栏下拉框怎么做上海的重大新闻
  • 徐州网站建设费用网站开发怎么做
  • 英语网站都可以做哪些内容多用户建站平台
  • wordpress页面回收站一个具体网站的seo优化
  • 国内比较高端的设计网站北京seo工程师
  • 能打开任何网站浏览器下载新闻发布
  • 服装网站建设的目的和意义外贸网站建站平台
  • 微信公众号网站导航怎么做互联网推广营销
  • 网页紧急升级英文seo
  • 和各大网站做视频的工作总结上海seo网站优化
  • 组建个人网站武汉百度快速排名提升
  • 新手学做网站相关书籍农夫山泉软文300字
  • 中国做外贸的网站有哪些内容螺蛳粉营销策划方案
  • 建设单位企业锁登陆网站廊坊seo排名霸屏
  • 网站类的百度百科怎么做微信附近人推广引流
  • h5 php网站开发怎么推广软件
  • 建设公司网站新闻宣传管理制度seo排名优化关键词
  • 做百度网站需要什么条件网络营销的策划方案
  • 备案网站内容格式填写磁力蜘蛛搜索引擎
  • 有没有专门做名片的网站互联网营销主要学什么