基于SpringBoot+STOMP协议实现的web聊天室
- JDK1.8
- Maven
- IDEA
- Lombok Plugin
# 存放日志的目录
sudo mkdir /var/log/xechat
# 资源映射的目录
sudo mkdir /xechat
# 授权
sudo chmod 777 /var/log/xechat
sudo chmod 777 /xechat
application.properties 配置文件里将 app.url 的值修改即可
#项目地址
app.url=http://localhost:${server.port}
项目中的定位功能使用的是百度地图的API
需将 ak 的值替换成自己的
finalName: maven打包的文件名,在pom.xml文件中由<build>标签内的<finalName>指定
env: 项目运行环境,测试环境test 生产环境prod
mvn clean install -Dmaven.test.skip=true
java -jar ${finalName}.jar --spring.profiles.active=${env}
登入成功后会将用户信息缓存到cookie中
登入界面
选择头像输入昵称后点击登入按钮
系统广播上线消息
发送文本消息
发送图片消息
再次登入两个用户
左侧按钮为显示在线用户列表,右侧按钮为退出聊天室
小毅这个用户收不到胖虎和小丸子的私聊信息
使用DFA算法检测文本是否包含敏感词(DFA:Deterministic Finite Automaton 确定性有限自动机)
敏感词列表
敏感词的配置是在
resources目录下的sensitive-word.txt文件中,敏感词一行一个
发送一个包含敏感词的文本信息(此处输入的敏感词为嘻嘻和哈哈)
成功被系统河蟹😏 河蟹后的处理是随机返回一个社会主义核心价值观。
富强、民主、文明、和谐、自由、平等、公正、法治、爱国、敬业、诚信、友善
过滤日志
点击右侧按钮退出聊天室,系统广播离线消息,在线用户列表和在线人数自动更新
点击注销按钮可清除当前的登入信息,不注销则可继续以当前的信息登入
不注销直接登入
双击自己发送的消息弹出撤消提示,确定后即可撤消这条消息(只可撤消3分钟内的消息)
消息已经撤消,系统广播撤消消息
聊天记录访问地址 http://ip:端口/record.html
进入聊天记录页面需要输入访问密码 默认的访问密码为 xechat
先将密码经过
BASE64加密后再进行MD5的32位小写加密
加密流程
密码 xechat 经过 BASE64 加密后变为 eGVjaGF0 ,再进行 MD5 32位小写加密后变为 c85715fec7827f3b388af185b8e7db77
修改密码
application.properties 配置文件里将 chatrecord.password 的值替换即可
#聊天记录页面访问密码(密码先经过base64加密后再进行32位md5加密)
chatrecord.password=c85715fec7827f3b388af185b8e7db77
输入密码点击确定
密码输入正确后显示聊天记录文件列表,按照 yyyyMMdd 的方式每天自动生成一个 .md 格式的文件
点击列表中的文件可以查看当天的聊天记录