1比1还原企业微信!一款美观大方、功能齐全的开源即时聊天IM系统 - 实践
- 个人网站:IT知识小屋
- 版权: 本文由【IT学习日记】原创、在CSDN首发、需要转载请联系博主
- 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦
简介
r-im是一款仿且企业微信实现的即时通讯系统,系统全面支持单聊、群聊、发送表情、图片、语音、视频,显示消息已读未读的状态,发布群公告、群禁言、@群成员等,支持点对点音视频聊天,文件、图片和绝大部分媒体文件在线预览,且不依赖任何第三方收费通讯组件。系统采用TP6 + Mysql + workerman + webRTC搭建后台,vue2搭建前端,uniapp实现移动端,支持多端在线交互。
系统拥有出色的拓展性,支持个性化需求在后台配置企业模式(功能类似于企业微信)、社交模式(功能类似于微信或QQ),并提供小程序、h5、移动端、桌面端、网页多端使用,是中小型企业快速搭建易拓展,高性能的企业内网通讯系统的最佳选择!
项目结构
前端项目结构:
im-chat-front/ # 前端项目根目录
├── public/ # 公共静态资源目录
├── src/ # 源码目录
│ ├── assets/ # 静态资源(图片、字体等)
│ ├── components/ # Vue 组件
│ ├── views/ # 路由页面
│ ├── router/ # Vue Router 路由配置
│ ├── store/ # Vuex 状态管理
│ ├── utils/ # 工具函数
│ └── App.vue # 应用入口组件
├── .env.development # 开发环境变量配置
├── .env.production # 生产环境变量配置
├── .gitignore # Git 忽略规则
├── babel.config.js # Babel 配置文件
├── package.json # 项目依赖与脚本配置
├── README.md # 项目说明文档
└── vue.config.js # Vue CLI 配置
后端项目结构:
im-instant-chat/ # 后端项目根目录
├── app/ # 应用业务代码
│ ├── controller/ # 控制器(API 接口)
│ ├── model/ # 数据模型
│ ├── service/ # 核心服务逻辑(消息、音视频)
│ └── config/ # 应用级配置(数据库、redis、jwt等)
├── config/ # ThinkPHP + Workerman 配置文件
├── public/ # Web 可访问目录(放编译后的前端 dist)
│ ├── index.php # 后端入口
│ └── static/ # 静态资源目录
├── resource/ # 视图、语言包、文件模板等
├── worker/ # Workerman 启动脚本(gateway、business 等)
├── database/ # 数据库相关文件
│ ├── migrations/ # 表结构定义
│ └── seeds/ # 初始数据脚本
├── docker/ # Docker 配置(Dockerfile、docker-compose)
├── example.env # 示例环境变量配置 :contentReference[oaicite:3]{index=3}
├── .env.* # 实际运行环境变量文件
技术栈:
后端:TP6 + Mysql + workerman + webRTC中继服务
前端:vue2 + element-ui + lemon-imui
移动端:uniapp for vue3+pinia,支持编译为小程序+h5+APP
桌面端:vue2 + electron
功能列表
用户管理
用户注册:社区模式下支持用户自由注册账号
用户登录/登出:支持多端登录与安全登出,适配 Web、App、小程序等平台
用户信息管理:支持查看与修改个人信息,如头像、昵称、签名等
用户封禁:管理员可对违规用户进行封禁,限制其登录、发言等权限
新消息通知设置:用户可自定义是否开启消息声音提醒及浏览器通知
简易后台管理:提供基础的用户管理功能,如用户信息查看、封禁操作等
好友系统
好友添加/删除:支持用户之间互相添加、删除好友(可配置为仅社区模式启用)
好友信息查看:可查看好友的详细资料
好友在线状态显示:实时显示好友是否在线
好友添加限制:支持配置是否允许群成员间互加好友
群组管理
群组创建/修改/删除:支持用户或管理员创建、编辑和解散群聊
群成员管理:支持邀请、踢出群成员及成员主动退出群聊
群成员在线状态显示:可查看群成员是否在线
群公告:支持设置群公告,群成员可查看最新群通知
群组封禁功能:支持群成员禁言、全员禁言等操作
管理员权限:支持群管理员撤回成员消息、管理群信息
私聊功能
文字消息:支持实时发送文本消息
表情消息:支持发送常见表情符号
图片消息:支持发送与预览图片内容
文件消息:支持发送各种类型文件,支持在线预览
语音消息:支持录制语音并发送播放
音视频通话:支持一对一音视频通话(支持 Web 和移动端,小程序暂不支持)
已读/未读状态显示:可查看消息是否被对方阅读
联系人置顶与免打扰:可设置私聊会话置顶,或开启免打扰模式
群聊功能
支持所有私聊消息类型:包括文字、表情、图片、文件、语音和音视频等
回复消息:可对某条消息进行引用回复,便于上下文理解
@成员提醒:支持在群聊中@指定成员提醒其查看消息
群禁言功能:支持对成员进行个别禁言或全员禁言控制
群消息撤回:支持管理员撤回群成员的消息
其他功能
离线消息:支持离线消息缓存,用户上线后自动同步接收
聊天记录查看:支持历史聊天记录查询与搜索功能
粘贴截图发送:支持将截图粘贴至输入框快速发送
敏感词过滤:内置敏感词过滤机制,自动屏蔽敏感违规内容
媒体文件在线预览:支持图片、视频、音频、文档等常见文件的在线预览
通知栏消息推送:APP端支持推送通知栏提醒(需开启 unipush 模块并允许手机通知权限)
多端支持(UniApp)
Web端功能支持:移动端支持所有 Web 功能,包括音视频通话
跨平台构建:基于 UniApp 开发,支持打包为 H5、微信小程序、Android 和 iOS 应用
多端同时在线:用户可在多个设备同时登录并保持在线状态
消息同步:支持多端消息实时同步,确保消息不丢失
模式切换支持
企业模式与社区模式:系统支持两种使用模式
企业模式:适用于组织内部通信,通常由管理员统一分配用户和群组
社区模式:支持用户注册、自主添加好友,适合开放社交场景
UI界面
群内公告

群聊

语音通话

视频通话

收到邀请

个人设置

个人信息

管理中心




开源地址&使用手册
点击下方的【IT学习日记】回复【资源】领取!
如果这篇文章对您有帮助,请一定帮我点个 “关注” 和 “点赞”,这对我非常重要。我将会继续推荐更多优质项目和新闻。

写在最后
1000+优质开源项目更新进度:226/1000。如需更多类型优质项目推荐,请在文章后留言。


浙公网安备 33010602011771号