前言
该项目初衷是供内部专网
办公人员使用,互联网版本仅供大家娱乐(摸鱼),提意见交流用,不做他用,绿色聊天。
生产环境是作为第三方模块嵌入到现有系统中,单点登陆。集成现有系统的组织架构到通讯录中,不需要注册登陆。
本项目原身fork自genal-chat做了优化升级,感谢大佬Genal
开源提供思路!
由于年底比较忙,目前还在抽空持续优化中,敬请期待!!!觉得还不错的话可以点个Star鼓励一下!!!
🚀 Electron版本客户端已出炉,详见release
🚀 欢迎各位大佬提提意见建议/Bug反馈 qq群289438105
tips: 绿色聊天,不要开车,不要上传太大的文件,服务器比较垃圾..
部分截图
- 整体界面
- 通讯录
- 群聊功能(群成员列表,在线状态,支持添加群成员)
Electron版本客户端
位于electron_version分支
- windows版本(exe)
- mac版本(dmg)
功能介绍
- 用户登陆注册(支持单点)
- 单点登陆地址,登录后点击右上角在线交流按钮
- 群聊
- 邀请好友加入群聊
- 修改群名/群公告
- 好友功能
- 通讯录功能(支持接入第三方系统组织架构,直接发起聊天)
- 聊天功能
- Emoji表情包
- 图片发送/图片预览
- 发送附件
- 消息分页
- 消息撤回/复制
- 自定义主题
- 会话置顶/删除
- 重连提醒
- 智能助手(
main分支
小冰机器人自动回复采用ES搜索引擎,需要手动创建ES词库
) - 第三方API机器人(
feature_APIROBOT分支
当前线上demo版本
自动回复内容请求第三方机器人接口
) - Electron版本(
electron_version分支
支持生成dmg,exe客户端
)
技术栈
-
前端
- vue cli 4.x
- Antd for vue
-
后端
- NestJS
- TypeORM
- Mysql
-
Socket.io
-
ElasticSearch ES搜索引擎(用于机器人快捷自动回复)
-
Nodejieba node版本中文分词器
环境准备
- mysql
- chat数据库 (需要手动创建,注意数据库编码格式为
utf8bm64``utf8bm64``utf8bm64
!!!) - node v10.16.3
拉取代码时注意事项
// windows系统需要配置一下,提交时转换为LF,检出时不转换
git config --global core.autocrlf input
// 设置为区分大小写
git config core.ignorecase false
运行项目
// client
cd client
cnpm i
npm start
// server
cd server
cnpm i
npm start
如何部署
前后端分离方式部署,详见 Deploy
思路概述
此处目前没有细化,大致初始化过程如下
TODO
@功能实现
消息转发
代码性能优化
群聊功能继续完善
微信快捷登陆
Electron客户端自动检查更新
感谢
logo取自iconfont