BoBoooooo / Tyloo Chat
Licence: mit
vue + nestjs IM即时通讯聊天室(仿wechat)
Stars: ✭ 54
Programming Languages
typescript
32286 projects
Projects that are alternatives of or similar to Tyloo Chat
Websocket Chat
Websocket based group chat app built with socket.io and react.
Stars: ✭ 689 (+1175.93%)
Mutual labels: chat, websocket, socket-io
Chat Engine
Object oriented event emitter based framework for building chat applications in Javascript.
Stars: ✭ 87 (+61.11%)
Mutual labels: chat, websocket, socket-io
Wechat
聊天系统、Vue.js、React.js、node.js、MongoDB、websocket、socket.io、前后端分离、毕业设计。
Stars: ✭ 188 (+248.15%)
Mutual labels: chat, websocket, socket-io
Angular Chat
(IM App)Chat App built using Angular and Socket.io
Stars: ✭ 12 (-77.78%)
Mutual labels: chat, websocket, socket-io
Vue Chat
📲 A web chat application. Vue + node(koa2) + Mysql + socket.io
Stars: ✭ 617 (+1042.59%)
Mutual labels: websocket, socket-io
Laravel Video Chat
Laravel Video Chat using Socket.IO and WebRTC
Stars: ✭ 646 (+1096.3%)
Mutual labels: chat, socket-io
Node Chat
💬 Chat application built with NodeJS and Material Design
Stars: ✭ 646 (+1096.3%)
Mutual labels: chat, websocket
Spring Boot Websocket Chat Demo
Spring Boot WebSocket Chat Demo with SockJS fallback and STOMP protocol
Stars: ✭ 726 (+1244.44%)
Mutual labels: chat, websocket
Django Channels React Multiplayer
turn based strategy game using django channels, redux, and react hooks
Stars: ✭ 52 (-3.7%)
Mutual labels: chat, websocket
Netty Socketio
Socket.IO server implemented on Java. Realtime java framework
Stars: ✭ 5,565 (+10205.56%)
Mutual labels: websocket, socket-io
Beaver
💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.
Stars: ✭ 1,056 (+1855.56%)
Mutual labels: websocket, socket-io
Darkwire.io
End-to-end encrypted instant web chat
Stars: ✭ 594 (+1000%)
Mutual labels: chat, socket-io
Flask Socketio
Socket.IO integration for Flask applications.
Stars: ✭ 4,523 (+8275.93%)
Mutual labels: websocket, socket-io
Netty Websocket Spring Boot Starter
🚀 lightweight high-performance WebSocket framework ( 轻量级、高性能的WebSocket框架)
Stars: ✭ 885 (+1538.89%)
Mutual labels: chat, websocket
Vuex Socketio Plugin
Vuex plugin to integrate socket.io client
Stars: ✭ 34 (-37.04%)
Mutual labels: websocket, socket-io
Channelstream
Channelstream is a websocket communication server for web applications
Stars: ✭ 52 (-3.7%)
Mutual labels: chat, websocket
Wssip
Application for capturing, modifying and sending custom WebSocket data from client to server and vice versa.
Stars: ✭ 373 (+590.74%)
Mutual labels: websocket, socket-io
Tyloo-Chat(仿wechat)
说明
本项目fork自genal-chat做了优化升级,感谢大佬Genal
开源提供思路!
目前还在抽空持续优化中,敬请期待!!!
觉得还不错的话可以点个Star鼓励一下!!!
🚀 Electron版本客户端已出炉,详见release
289438105
🚀 欢迎各位大佬提提意见建议/Bug反馈 qq群🏖Tyloo-Chat线上demo地址
tips: 麻烦各位绿色聊天,不要开车,不要上传太大的文件,服务器比较垃圾..
部分功能截图
- 整体界面
- 通讯录
- 消息撤回功能
Electron版本客户端(位于electron_version分支)
- windows版本(exe)
- mac版本(dmg)
Feature
- 用户登陆注册 (支持嵌入第三方系统单点登陆)
- 单点登陆地址,登录后点击右上角在线交流按钮
- 群聊 (类似qq群)
- 邀请好友加入群聊
- 修改群名/群公告
- 好友功能
- 通讯录功能(支持接入第三方系统组织架构,直接发起聊天)
- 聊天功能
- Emoji表情包
- 图片发送/图片预览
- 发送附件
- 消息分页
- 消息撤回/复制
- 自定义主题
- 会话置顶/删除
- 重连提醒
- 智能助手(默认,位于main分支,采用ES搜索引擎需要手动创建ES词库)
- 第三方API机器人(当前线上demo版本,位于feature_APIROBOT分支)
- 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 run start
如何部署
第三方集成/单点登陆
- 第三方系统里嵌入如下跳转代码,需要携带
userId
以及username
参数
let chatUrl // 当前聊天室客户端地址
let userId // 当前系统用户userId
let username // 当前系统用户昵称
window.open(`${chatUrl}?userId=${userId}&username=${username}`);
-
聊天室获取参数并自动完成登陆(若为首次登陆会自动注册账号)
-
设置聊天室client
VUE_APP_ORG_URL
为获取第三方系统组织架构的接口地址- 设置VUE_APP_ORG_URL
// .env.xxx // 此接口可以获取到第三方系统的所有部门和人员信息,注意为嵌套tree结构 VUE_APP_ORG_URL=http://127.0.0.1:8080/api/getDeptUsersTree
- 切换到联系人界面自动发出请求
// Contact.vue axios.post(process.env.VUE_APP_ORG_URL).then((res) => { this.organizationArr = res.data.data; });
- 返回值格式如下
interface node { id: string; // id label: string;// 名称 flag: boolean;// 是否有下级结点 children: node[];// 下级结点 }
- 若不需要集成第三方组织架构清空
VUE_APP_ORG_URL
即可,其他情况自行定制修改。
思路概述
TODO
@功能实现
消息转发
代码性能优化
群聊功能继续完善
微信快捷登陆
Electron客户端检查更新
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].