基于springboot的聊天系统
截图
手机版
源码地址:
关注公众号知识追寻者: 回复 vim
功能点
- 文本聊天
- 聊天表情
- 发送图片(http)
- 发送文件(http)
- 单聊
- 群聊
- 用户分组(后端支持)
- 离线消息(单聊)
- 聊天记录(单聊、群聊)
- 支持心跳检测,断线重连
- 使用SpringBoot security oauth2.0 支持单点登录。
- 用户搜索。
登录测试
- 测试服务器IP:101.200.151.183,在登录界面右下角有设置的地址,默认的是本地(没有服务不好用),请知晓。
- 自己可以注册个用户进行测试,默认。
- 没有提供在线添加好友和管理群组的功能,后续开发,好友关系维护都在后台服务里。
- 打包好的测试文件-->[下载exe安装文件 64位](doc/v-im Setup 0.6.4.exe)。
参考项目及技术
- layIM(主要是聊天表情,文件处理方面)。
- 使用SpringBoot、oauth2.0、t-io 开发后端服务。
- vue、iview 开发前端。
- 界面高仿微信,如有侵权请告知。
- 其他:使用 fetch 发送ajax 请求,支持跨域,electron 支持打包成为exe,也支持linux 和 mac 目前还没测试,有条件的同学可以测试。
后续目标
- UNI-APP 已完成。
- V-IM-PC 是客户端
- V-IM-Server 是服务端代码
- doc 下面有数据库。
- V-IM-PC/src/views/im/conf/index.js 里面配置端口等信息。
常见问题
- 如果出现 Parsing error: x-invalid-end-tag vue/no-parsing-error 类似的错误,可用用 webstorm 右键src 目录 Fix eslint problems,
- 安装不成功,请先执行 npm install node-sass。如果还是错误请多重试下!
- 关于聊天界面和历史记录不一样,是因为多个用户同时登录同一个账号造成的,如果能保证一个账号登录,是没有问题的。
文档
- 打包好的测试文件-->[下载exe安装文件 64位](doc/v-im Setup 0.6.4.exe)。
- 打包好的web文件,在dist/web 目标下(运行的时候需要有容器,例如nginx tomcat之类的)。
- 消息推送接口,调用方式:http://localhost:8080/api/user/sendMsg?access_token=你的token&userId=接收人&msg=我是消息
- 获取token:http://localhost:8080/oauth/token?client_id=v-client&client_secret=v-client-ppp&grant_type=password&scope=select&username=wangwu&password=123456
- 测试地址:http://101.200.151.183 (web-pc) http://101.200.151.183/h5/ (h5) wangwu/123456 zhangsan/123456。
- 安装依赖命令:yarn 。
- 开发环境命令:npm run serve 和 npm run electron:serve。
- 打包安装文件:npm run electron:build,打包完成的文件在/dist_electron 下。
- 打包web文件:npm run build,打包完成的文件在/dist 下。
注意事项
- 打包时候项目路径不能有中文,包括你 windows 用户都不能有中文字符,因为npm 缓存都是在用户目录下(如果原先的用户名是中文,再修改成英文也不好用,因为原先的npm包都还在中文目录下,可以新建个window 英文账号,登录新账号打包)。
- 使用yarn 安装依赖,npm 不是很好用,尝试过,都不能打包成功。如果yarn 不能安装依赖成功,可以多试几次!
- 基于 t-io websocket 协议, 据说能支持百万级并发,但是此项目并没有进行此方面的测试,还请知晓 !
源码地址:关注公众号知识追寻者: 回复 vim