V-IM 是一个基于JS的超轻量级桌面聊天程序。

前端:采用 vue、iview、electron 实现,主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议 websocket。支持 web 网页聊天实现(功能待完善)。

服务端: springboot、tio、oauth2.0 等技术。

界面:高仿微信。

V-IM 0.6.2 发布了,本次更新内容包括:

  1. server 改成多模块项目,更容易扩展。
  2. 修复一个初次加载多个对话框中展示用户信息错误的bug。
  3. 升级 springboot 到 2.4.1版本。
  4. 升级 tio 到 3.7.0.v20201010-RELEASE 版本。

结构

  1. V-IM-PC 是客户端
  2. V-IM-Server 是服务端代码
  3. doc 下面有数据库。
  4. V-IM-PC/src/views/im/conf/index.js 里面配置端口等信息。

常见问题

  1. 如果出现 Parsing error: x-invalid-end-tag vue/no-parsing-error 类似的错误,可用用 webstorm 右键src 目录 Fix eslint problems,
  2. 安装不成功,请先执行 npm install node-sass。如果还是错误请多重试下!

文档

  1. 打包好的文件 下载。
  2. 打包好的web文件,在dist/web 目标下(运行的时候需要有容器,例如nginx tomcat之类的)。
  3. 消息推送接口,调用方式:http://localhost:8080/api/user/sendMsg?access_token=你的token&userId=接收人&msg=我是消息
  4. 获取token:http://localhost:8080/oauth/token?client_id=v-client&client_secret=v-client-ppp&grant_type=password&scope=select&username=wangwu&password=123456
  5. 测试地址:http://101.200.151.183       账号:wangwu/123456 zhangsan/123456。
  6. 安装依赖命令:yarn 。
  7. 开发环境命令:npm run serve 和 npm run electron:serve。
  8. 打包安装文件:npm run electron:build,打包完成的文件在/dist_electron 下。
  9. 打包web文件:npm run build,打包完成的文件在/dist 下。

注意事项

  1. 打包时候项目路径不能有中文,包括你 windows 用户都不能有中文字符,因为npm 缓存都是在用户目录下(如果原先的用户名是中文,再修改成英文也不好用,因为原先的npm包都还在中文目录下,可以新建个window 英文账号,登录新账号打包)。
  2. 使用yarn 安装依赖,npm 不是很好用,尝试过,都不能打包成功。如果yarn 不能安装依赖成功,可以多试几次,或者翻墙后再打包!
  3. 基于 t-io websocket 协议, 据说能支持百万级并发,但是此项目并没有进行此方面的测试,还请知晓 !

截图

     

功能点

  1. 文本聊天
  2. 聊天表情
  3. 发送图片(http)
  4. 发送文件(http)
  5. 单聊
  6. 群聊
  7. 用户分组(后端支持)
  8. 离线消息(单聊)
  9. 聊天记录(单聊、群聊)
  10. 支持心跳检测,断线重连
  11. 使用SpringBoot security oauth2.0 支持单点登录。
  12. 用户搜索。

登录测试

  1. 测试服务器IP:101.200.151.183,在登录界面右下角有设置的地址,默认的是本地(没有服务不好用),请知晓。
  2. 自己可以注册个用户进行测试,默认。
  3. 没有提供在线添加好友和管理群组的功能,后续开发,好友关系维护都在后台服务里。
  4. 打包好的测试文件–>下载exe安装文件 64位。

参考项目及技术

  1. layIM(主要是聊天表情,文件处理方面)。
  2. 使用SpringBoot、oauth2.0、t-io 开发后端服务。
  3. vue、iview 开发前端。
  4. 界面高仿微信,如有侵权请告知。
  5. 其他:使用 fetch 发送ajax 请求,支持跨域,electron 支持打包成为exe,也支持linux 和 mac 目前还没测试,有条件的同学可以测试。

后续目标

  1. 开发基于websocket 的安卓和IOS 版本。
  2. 打包命令调整,支持自动打包不同的版本(已解决)。
  3. 后端项目做成SpringBoot启动方式(方便集成),后端提供 restful 方式API,支持数据库分库、分表,支持分布式部署 (已经解决SpringBoot) 。
  4. 需要高手加入项目,现在只有一个人维护前后端实在是吃力。
  5. 优化稳定性,包括 token 刷新机制调整,目前还没好的方案控制同一用户下的并发问题(出问题几率很低,但是不代表不会出问题)(已经解决)。
  6. 支持https 本身t-io是支持的,目前还没测试,后续会测试。
  7. 持续改进,优化!

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联络我们。

对于会员专享、整站源码、程序插件、网站模板、网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

如果您已经成功付款但是网站没有弹出成功提示,请联系站长提供付款信息为您处理

源码素材属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前确认好 是您所需要的资源