源码简介
这套源码是一套即时通讯(IM)系统项目,后端用 Node.js + Express + MySQL + WebSocket 实现实时消息,配套 Vue3 管理后台和 UniApp 移动端。整体覆盖用户注册登录、好友关系、单聊消息、在线状态和后台管理,适合想学习 IM 前后端架构或做二次开发的人参考。
适用场景
- 学习 IM 架构:了解 WebSocket 实时通信、消息存储、好友关系的前后端实现方式
- 搭建内部通讯工具:在公司内网部署一套带管理后台的聊天平台,掌握数据自主权
- 二次开发起点:基于 UniApp 端和 Vue3 后台扩展群聊、机器人、文件协作等自定义功能
技术栈与运行环境
- 后端:Node.js(>=16.9)+ Express + MySQL + WebSocket(ws) + JWT + bcrypt + multer
- 管理后台:Vue3 + Vite + Element Plus + Pinia + vue-i18n + Tailwind CSS
- 移动端:UniApp(Vue3 + Vite),可编译 H5 与微信小程序
- 数据库:MySQL(sql/init.sql 初始化)
- 其他依赖:qrcode(二维码)、xlsx、wangeditor、echarts
- 运行环境:后端 Node 16.9+(兼容宝塔 16.x);管理后台需 Node 20+ 与 pnpm
功能亮点
- 用户与鉴权:注册、登录、个人资料编辑与 JWT 鉴权,对应 auth/users/userProfile 路由、users 表与移动端登录注册页面
- 好友系统:好友关系、好友申请与通知,对应 friends 路由、friendService 以及 friend_requests / friendships 表,移动端含通讯录与好友请求页
- 实时消息:基于 WebSocket 的文本与媒体消息、在线状态,对应 ws 模块、messages/messageService/presenceService 以及 direct_messages 表,移动端含聊天详情页
- 管理后台:后台登录、用户管理、IM 聊天记录、文件管理、群组管理、系统设置、角色与菜单,对应 admin 端 im/* 与 system/* 视图及 adminAuth/adminUsers/adminSettings 路由
- 移动端 IM 框架:消息、通讯录、我的三个 Tab,聊天与视频聊天、二维码(个人码/扫一扫)、个人资料等页面,目录结构完整
- 应用配置:应用级设置接口与表(appSettings + app_settings),服务端可生成二维码,便于移动端扫码添加
安装与部署提示
- 初始化数据库:在 MySQL 执行 `server/sql/init.sql`,再按需执行 migrate-*.sql 迁移脚本
- 配置后端:复制 `server/.env.example` 为 `.env`,填写 MySQL 密码等,执行 `npm install` 后 `npm start`(默认端口 3000)
- 启动前端:管理后台用 pnpm 安装并 `pnpm dev`;移动端 `app` 目录 `npm install` 后 `npm run dev:h5` 或 `dev:mp-weixin`
截图与演示说明
常见问题
运行前需要注意什么?
后端需 Node 16.9 及以上,管理后台需 Node 20+ 与 pnpm;先导入 init.sql 初始化数据库并复制 .env 配置 MySQL 密码;源码文档内置默认管理员账号 Xadmin / Xadmin,部署前务必修改。
适合二次开发吗?
适合。后端 Express 路由与服务分层清晰,管理后台为 Vue3 + Element Plus 组件化结构,移动端是 UniApp 多端框架;移动端 README 标注为“IM 客户端空白框架”,页面脚手架已搭好,业务逻辑可在此基础上扩展。
安全风险提示
特别提示:本源码未检测安全风险文件,下载后请务必进行安全审计,删除恶意代码后再部署使用!
注意:源码文档中内置默认管理员账号 Xadmin / Xadmin(角色 R_SUPER),属于硬编码弱口令,部署到公网前必须修改密码并删除示例账号,避免后台被直接接管。
下载说明
源码仅供学习研究、测试部署和二次开发参考,商用前请自行确认授权、版权和安全风险。项目含 LICENSE 文件,使用前请确认具体开源协议与授权范围。
资源下载
下载价格免费
本文章资源https://www.aosen.cc/mianfei2709.html来源于互联网,如存在侵权,请联系我们立马删除!


