- 基于Vue.js全家桶 + WebSocket + Node.js + Koa2 + MongoDB的即时聊天项目
- 功能部分参考微信,附加上一些有意思的功能。项目代码注释非常详细,是学习Vue、Node.js、koa一个不错的全栈入门项目。
- 项目前后端和部署独立完成,各种交互以及各种业务逻辑功能上有不完善的地方欢迎提出😄
- server 是服务器
- public 是静态文件
- db 是MongoDB导出备份
- src 是项目文件夹
- 克隆项目
git clone https://github.com/imzusheng/Wecat.git
- cd 项目根目录,安装依赖
npm install
- 运行服务
npm run serve
- cd ./server,再安装服务器依赖
npm install
- 导入数据库
mongorestore -d wecat ./db
- 运行服务器
npm run dev
userID:test@163.com
password:a123456
- 登录
- 防止重复登录
- 最近登录时间
- 最近登录地点(省-市-区)
- 注册(邮箱验证)
- 找回密码(邮箱验证)
- 选择用户头像
- 登出
- 好友点对点聊天
- ws心跳连接与掉线重连
- 好友上线和下线提示
- 加好友及验证好友请求
- 好友请求通知
- 未读消息提示
- 搜索用户
- 用户个性化配置
- 聊天记录懒加载
- 好友输入状态实时更新
- 网站标题实时显示未读消息条数
- 最近聊天的好友置顶
- 后台管理
- 聊天图片与文件上传(分片上传)
- 聊天图片与文件预览和下载
- 群聊
- 用户资料卡
- 删除好友
- 创建群
- 群资料卡
- 加群
- 退群
- VueCli 3
- Vuex
- Node.js
- Element-ui
- axios
- MongoDB
- koa2
- WebSocket
- ws
- 多文件分片上传
- Vue Router History模式下在网站非根目录部署
- js 键盘监听 实现 ctrl + enter 组合键发送消息
- 利用 ES6 Module 封装一个自己的Websocket服务
- 👉 邮箱 imzusheng@163.com
- 👉 项目地址
- 👉 关于我
- 👉 github
- 👉 gitee