企业 OA 为什么要内置一套 IM?RuoYi Office 即时通讯功能全介绍:单聊/群聊/频道/音视频/审批协同 PC+App 双端打通
企业 OA 为什么要内置一套 IMRuoYi Office 即时通讯功能全介绍单聊/群聊/频道/音视频/审批协同 PCApp 双端打通文档地址http://ruoyioffice.com | 源码1·GitHubruoyi-office | 源码2·GitCoderuoyi-office | 源码3·Giteeruoyi-office | 微信17156169080备注「RuoYi Office」“公司都有微信/钉钉了OA 还搞什么 IM”——这是很多人第一反应。但真到用的时候你会发现审批消息淹没在几十个微信群里、找同事得先加好友、离职员工还留在群里看资料、聊天记录散落在私人账号上公司完全管不到。RuoYi Office 内置的 IM 即时通讯解决的不是“能不能聊天”而是“聊天能不能和组织、权限、审批、数据长在一起”——同事无需加好友、审批可一键沟通、消息全程可管可控PC 与手机双端打通。▲ 一眼看懂组织免加好友 · 审批一键沟通 · 数据自主可控引言企业为什么要“自己的 IM”而不是用微信群微信、钉钉当然能聊天但用它们承载企业沟通会遇到几个绕不过去的坎沟通和组织脱节新同事得先互相加好友、拉群人一多就乱员工离职微信群里还留着公司资料照样能看。审批和聊天两张皮一条审批在 OA 里躺着催办得再去微信上戳一句“帮我看下那个单子”上下文全靠人肉搬运。数据不在自己手里聊天记录、文件都存在员工私人账号和第三方服务器上一旦离职、封号企业沉淀的沟通资产说没就没。多个系统各发各的消息OA 发一条、CRM 发一条、审批发一条员工被通知轰炸重要的反而被淹没。痛点用微信群“凑合”内置企业 IM找人沟通先加好友、手动拉群组织架构直接选人无需加好友审批协同切到微信手动催办审批详情页一键发起会话带上下文人员进出离职仍在群里随组织变更自动收权消息可管控数据归属存在私人/第三方账号数据落在企业自己的服务器消息触达多系统各发各的统一 WebSocket 通道 未读角标聚合一句话结论企业 IM 的价值不在“聊天”本身而在它与组织、权限、审批、数据的“原生打通”——这正是外挂式微信群给不了的。▲ 内置 IM 主界面左侧会话列表含未读、在线状态、群聊/单聊右侧消息区实时收发顶部导航与整个平台一致——IM 就长在业务系统里而不是另开一个 App一、产品概览一套 IM两种形态RuoYi Office IM 是内置在平台里的即时通讯能力与整套系统共用同一份组织架构和账号体系。为覆盖不同深度的需求产品提供了两种协同互补的形态形态定位适合场景OA 轻量 IM嵌在 OA 里、贴着审批场景的即时沟通审批催办、同事临时沟通、单聊/群聊 文件全功能 IM独立的企业级 IM 产品能力好友体系、群治理、频道、音视频通话、表情包等完整 IM两种形态共用同一条 WebSocket 长连接/infra/ws都建立在平台统一的用户、组织、权限之上——区别只是能力深度不同账号和组织始终是同一套。▲ 全功能 IM 独立界面左侧会话与频道、右侧消息区底部输入栏内置图片、文件、语音、视频通话等入口——是一套完整的企业级 IM 产品形态二、功能架构消息是怎么“实时又不丢”的IM 的核心难点是“既要实时又不能丢消息”。RuoYi Office 用“WebSocket 实时推送 落库持久化 离线补偿”的经典三段式来保证▲ 消息发送与触达时序发送方 → WebSocket 入站 → 消息落库 → 更新会话摘要与未读数 → 在线者实时推送、离线者上线后 pull 补偿 → 已读回执回写一条消息从发出到对方看到经历这样几步发送发送方通过 WebSocket 把消息发到服务端带客户端消息 ID 用于幂等去重。落库服务端把消息写入消息表保证不丢同一client_msg_id重复到达时天然幂等。更新会话刷新会话的“最后一条消息”摘要给其他成员未读数 1。触达对方在线就实时推送不在线等其下次上线通过拉取接口补齐离线消息。已读回执对方读了消息上报已读游标发送方即可看到“已读/N 人已读”。统一的 WebSocket 通道让 IM 与整个平台的实时能力复用同一条链路# application.yaml节选—— 全平台共用一条 WebSocket 长连接# IM 消息、通知、审批提醒都走同一条通道websocket:enable:truepath:/infra/ws服务端下发消息时用统一的消息类型区分 IM 与其它通知前端按类型分发到会话或角标// IM 实时通知统一封装前端据 type 路由到会话/未读角标publicclassImNotificationWebSocketDTO{publicstaticfinalStringTYPEim-notification;privateIntegerconversationType;// 单聊/群聊/频道privateIntegercontentType;// 文本/图片/文件/语音/视频...privateObjectpayload;// 消息体}三、能力清单从单聊到音视频RuoYi Office IM 的能力覆盖了主流企业 IM 该有的样子。下面这张能力矩阵能帮你快速判断它够不够用▲ IM 能力矩阵会话形态单聊/群聊/频道× 消息类型文本/图片/文件/语音/视频//表情/名片/合并转发× 协同能力已读回执/撤回/离线补偿/音视频通话/审批联动3.1 会话形态形态说明单聊一对一沟通从组织架构直接选人无需加好友同一对用户不会重复建会话群聊多人协同支持群管理员、禁言、置顶消息、群公告、解散等完整群治理频道面向部门/主题的广播式频道可推送素材好友体系好友申请、审批、黑名单、备注全功能形态▲ 通讯录新的朋友好友申请、群聊、好友分组一目了然企业内沟通既支持“组织架构直接选人”也支持“好友体系”两种关系模型3.2 消息类型支持文本、图片、文件、语音、视频、提及、表情包、名片、合并转发等丰富消息类型群消息支持某人精准提醒重要消息可撤回。3.3 协同能力能力价值已读回执单聊“已读”、群聊“N 人已读”重要通知有没有人看一目了然未读聚合平台顶部统一未读角标IM 消息实时刷新离线补偿不在线时消息不丢上线后自动拉取补齐置顶/免打扰重要会话置顶嘈杂群免打扰音视频通话基于 LiveKit 的一对一/多人音视频通话全功能形态四、杀手锏IM 与审批的原生打通这是内置 IM 相比微信群最不可替代的一点。在 RuoYi Office 里审批和沟通不是两张皮当你在 BPM 审批详情页看到一条待办可以一键对相关审批人发起会话并自动带上流程上下文流程名、实例信息对方一看就知道你在催哪个单子不用再复制粘贴“帮我看下那个报销”。// 审批详情页一键沟通带上流程上下文发起 IM 会话startConversationFromProcessInstance({userId,// 目标审批人来自组织架构processInstanceId,// 流程实例processInstanceName,// 流程名称进入会话即带上下文});这背后的逻辑是IM 的“人”就是 HRM 的员工、就是 OA 的审批人、就是组织架构里的同事——同一个身份天然可被任意业务模块调用。这正是“一体化平台”内置 IM 的独特价值。五、多端体验PC 管理端 UniApp 移动端沟通天然是移动优先的所以 IM 必须双端打通。RuoYi Office IM 在 PC 管理端与 UniApp 移动端保持同源同一账号登录消息实时同步端入口典型场景PC 管理端Web顶部 IM 入口 / OA 即时通讯菜单工位上集中沟通、审批催办、发文件移动端UniAppIM 聊天 TabH5/小程序/App随时随地回消息、语音、音视频通话管理后台IM 管理页好友/群/消息/频道/敏感词/表情管理移动端与 PC 端 API 同构、消息同源本地还用 IndexedDB / SQLite 做消息缓存保证移动端首屏快、离线可看历史。六、快速体验在线演示 Web 演示http://ruoyioffice.com/web/账号admin/ 密码admin123 App 演示http://ruoyioffice.com/app/推荐体验路径用admin/admin123登录 PC 管理端进入 IM / OA 即时通讯从组织架构直接选一个同事发起单聊。建一个群聊发文本、图片、文件试试某人。找一条审批待办在审批详情页点“一键沟通”感受带上下文的会话。用手机打开 App 演示同账号登录验证“PC 发、手机收”的实时同步。有条件的话体验一次音视频通话全功能形态。源码仓库仓库地址GitHubhttps://github.com/yuqing2026/ruoyi-officeGitCodehttps://gitcode.com/zhouzhongyan/ruoyi-officeGiteehttps://gitee.com/yqzy1688/ruoyi-office常见问题FAQ已经有微信/钉钉了还需要内置 IM 吗需要的场景很明确当你希望沟通与组织架构、审批流程、企业数据原生打通且聊天数据要留在企业自己手里时内置 IM 才做得到。微信群适合临时沟通但管不了组织、接不了审批、留不住数据。IM 是怎么保证消息不丢的采用“WebSocket 实时推送 消息落库 离线补偿”三段式消息先落库保证持久化在线者实时推送离线者上线后通过拉取接口补齐客户端消息 ID 做幂等去重。支持群 、已读回执和音视频通话吗支持。群消息可某人单聊“已读”、群聊“N 人已读”回执全功能形态基于 LiveKit 提供一对一/多人音视频通话。移动端和 PC 端是同一套吗是。后端 API 同源PCVben与移动端UniApp可发布 H5/小程序/App消息实时同步同一账号登录即用。IM 和平台其它模块是什么关系IM 的“人”就是系统里的用户、HRM 的员工、审批流程里的审批人——同一套账号和组织所以审批可以一键沟通、消息可随组织变更收权这是一体化平台内置 IM 的独特价值。结语企业沟通工具的选择本质是一个问题你希望沟通“挂在”业务系统外面还是“长在”业务系统里面微信群把沟通挂在外面方便却失控RuoYi Office 内置 IM 把沟通长在里面——同事无需加好友、审批可一键沟通、消息全程可管、数据自主可控PC 与手机双端打通。如果你的团队正被“审批淹没在微信群、聊天记录管不到”困扰不妨用admin/admin123上手点一圈感受“沟通即协同”的体验。想要体验 RuoYi Office 的强大功能在线演示http://ruoyioffice.com/web/账号 admin / admin123技术咨询添加17156169080备注「RuoYi Office」⭐如果觉得不错请给个 Star 支持一下

相关新闻

5步掌握GTA V模组开发:YimMenuV2终极入门指南

5步掌握GTA V模组开发:YimMenuV2终极入门指南

5步掌握GTA V模组开发:YimMenuV2终极入门指南 【免费下载链接】YimMenuV2 Experimental menu for GTA 5: Enhanced 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenuV2 想要为GTA V创造独特游戏体验却不知从何入手?YimMenuV2这款基于C2…

2026/10/18 12:10:22 阅读更多 →
LangChain4j全集-15-Response Streaming

LangChain4j全集-15-Response Streaming

Response Streaming梳理 下面我按这篇文档的结构,结合你是 Spring Boot 开发者的视角,把 LangChain4j Response Streaming 讲清楚。 这篇文档讲的是:如何让大模型的回答像 ChatGPT 那样一个字、一段一段地流式返回,而不是等整段回…

2026/10/18 12:11:02 阅读更多 →
LangChain4j全集-14-Agents and Agentic AI

LangChain4j全集-14-Agents and Agentic AI

Agents and Agentic AI梳理 下面我按这个页面的内容,结合你是 Spring Boot 开发者的视角,帮你把 LangChain4j 里面的 Agents and Agentic AI 梳理一遍。这个页面主要讲的是: 如何使用 langchain4j-agentic 模块来构建“智能体应用”&#xff…

2026/10/18 12:11:16 阅读更多 →

最新新闻

TCP/IP 协议栈与 HTTP 协议原理:从分层模型到报文传输全过程

TCP/IP 协议栈与 HTTP 协议原理:从分层模型到报文传输全过程

网络通信是 Web 接口开发的底层基础。本文讲解 TCP/IP 四层协议栈分层职责,数据包封装和解封装流程;深入讲解 HTTP 协议请求报文、响应报文、HTTP 方法、状态码、无状态特性;对比 HTTP/1.1、HTTP/2、HTTP/3;HTTPS 加密原理&#x…

2026/10/18 14:44:43 阅读更多 →
Spark集群零散知识:从Driver到YARN的TaoToken实战笔记

Spark集群零散知识:从Driver到YARN的TaoToken实战笔记

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 14:44:43 阅读更多 →
手写一个300行响应式运行时:从Proxy到依赖收集的完整实现

手写一个300行响应式运行时:从Proxy到依赖收集的完整实现

前一阵子我在一个中小型的内部工具页里做状态管理,越写越别扭:第三方状态库本身的文档没问题,但为了一个小项目要把全套概念都学一遍,action、reducer、selector、middleware,代码越拆越多,数据流转反而看不…

2026/10/18 14:44:43 阅读更多 →
RFID读写器模块怎么选?进口vs国产全面对比

RFID读写器模块怎么选?进口vs国产全面对比

🔧 硬件篇 第1讲硬件篇开篇,我们先聊最核心的部件——读写器模块。很多人做项目,第一个问题就是:模块怎么选?买进口的,怕贵。买国产的,怕不好用。我刚入行的时候,进口模块是绝对的主…

2026/10/18 14:44:43 阅读更多 →
【PBAP】规范精讲[6]: 蓝牙PBAP协议的底层基石——OBEX协议的交互逻辑与实现细节

【PBAP】规范精讲[6]: 蓝牙PBAP协议的底层基石——OBEX协议的交互逻辑与实现细节

如果把PBAP协议的电话本访问功能比作一座高楼,那么OBEX(对象交换协议)就是支撑这座高楼的地基与框架。作为蓝牙通用对象交换的核心协议,OBEX为PBAP提供了数据传输的底层通道、请求响应的交互规则、错误处理的统一标准,…

2026/10/18 14:44:43 阅读更多 →
OpenClaw 实战:用 Node.js 与 PowerShell 让 AI 直接操控 Windows 电脑

OpenClaw 实战:用 Node.js 与 PowerShell 让 AI 直接操控 Windows 电脑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 14:43:43 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →