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

在线聊天项目

人事管理项目-在线聊天

    • 后端接口实现
    • 前端实现

在线聊天是一个为了方便HR进行快速沟通提高工作效率而开发的功能,考虑到一个公司中的HR并不多,并发量不大,因此这里直接使用最基本的WebSocket来完成该功能。

后端接口实现

要使用WebSocket,首先引入WebSocket依赖:在这里插入图片描述
依赖添加成功后,接下来配置WebSocket配置类,代码如下:

在这里插入图片描述
然后创建消息转发Controller,代码如下:在这里插入图片描述

配置完成后,重启后端项目,然后开始配置前端。

前端实现

聊天功能写在FriendChat.vue组件中,但是用户登录成功后,首先加载的是Home.vue页面,在Home页面的右上角有一个通知的图标,如果有最新的通知,这里会显示一个红点,如图在这里插入图片描述
因此,虽然聊天是在FriendChat.vue页面进行的,但是WebSocket连接却需要登录成功后才建立,这里选择在store中建立WebSocket请求,代码如下:在这里插入图片描述
定义好之后,在初始化菜单数据的地方调用connect方法建立WebSocket连接,代码如下:在这里插入图片描述
通过store.dispatch(‘connect’);调用connect方法。
这里配置完成后,重新登录,在Chrome控制台可以看到WebSocket连接已经成功建立起来了,如图在这里插入图片描述
最后,在FriendChat.vue中通过如下方式发送一条消息:在这里插入图片描述
另外,浏览器在收到消息之后,是将消息保存在store中的,这样一旦收到消息,FriendChat页面的聊天数据就会自动更新,并且,当有新消息到达时,即使用户不在FriendChat页面,也能及时收到通知(主页右上角的通知图标会显示小红点)。
聊天效果如图在这里插入图片描述
在这里插入图片描述
这里由于前端页面代码量庞大,因此只贴出部分关键步骤的代码,完整代码读者可以在https://github.com/lenve/vhr下载。
这里有两个订阅,“/user/queue/chat”是用来做在线聊天的,“/topic/nf”则是为了接收系统通知。

http://www.lryc.cn/news/91987.html

相关文章:

  • 动态规划-硬币排成线
  • 有效的括号——力扣20
  • 【轻量级网络】华为诺亚:VanillaNet
  • 读写ini配置文件(C++)
  • Python对接亚马逊电商平台SP-API的一些概念理解准备
  • [Halcon3D] 主流的3D光学视觉方案及原理
  • Go Web下gin框架使用(二)
  • 算法笔记-线段树合并
  • Fiddler抓取IOS数据包实践教程
  • Ansible基础4——变量、机密、事实
  • React实现Vue的watch监听属性
  • axios、跨域与JSONP、防抖和节流
  • macOS Ventura 13.5beta2 (22G5038d)发布
  • jwt----介绍,原理
  • Three.js--》实现3d水晶小熊模型搭建
  • 《阿里大数据之路》研读笔记(1)
  • Logback 日志框架详解
  • BIO、NIO、AIO 有什么区别?
  • nginx和tomcat负载均衡、静态分离
  • 用AI写出的高考作文!
  • chatgpt赋能python:Python屏幕输入介绍:了解命令行输入的基本知识
  • bert中文文本摘要代码(1)
  • 为何溃坝事故频发,大坝安全如何保障?
  • 第十九章_手写Redis分布式锁
  • 电路设计【8】原理图中VCC、VDD、VEE、VSS、VBAT各表示什么意思
  • Volatile、Synchronized、ReentrantLock锁机制使用说明
  • 港联证券|AI概念股继续活跃 科创50指数逆势走高
  • 分布式事务一 事物以及分布式事物介绍
  • 【十四】设计模式~~~行为型模式~~~中介者模式(Java)
  • css3--nth-child的用法