本项目面向中小商贸与零售企业的内部协同与客户沟通场景,典型应用行业包括批发零售、
电子商务、连锁门店、生产制造、物流仓储及商贸服务等轻量化组织。
1. 业务提醒触达场景
在批发零售与电商行业,业务人员分散在仓库、门店与客服团队,日常需要同步订单进度、
库存变动、物流异常、售后工单等信息。传统做法依赖微信群加 Excel 表格,消息容易被
淹没、责任人不够明确、历史记录难以追溯。本系统通过即时通讯通道,将 ERP 等业务系统
中的提醒按账号角色定向推送至对应人员的私聊会话,形成"业务事件—责任人—处理结果"
的闭环,减少跨系统切换带来的信息遗漏。
2. 客户沟通与运营场景
运营与客服人员可在会话中直接发送文字、图片、语音、文件以及结构化的商品卡片,客户
点击卡片即可查看商品详情并进入商城浏览下单,把沟通与转化集中在同一段对话中,减少
跨平台跳转造成的客户流失。
3. 团队协作场景
支持按部门或项目建立群聊,用于班组交接、任务派发、公告通知与文件共享;一对一及
多人音视频通话可支撑远程巡店、远程技术支持与线上例会,最多支持 9 人同时在线,满足
中小团队日常协作需求。
4. 多端接入场景
系统支持 Android、iOS 与微信小程序,员工可在门店使用手机、在办公室使用电脑、客户
扫码即可通过小程序接入,无需额外安装,部署成本低,适合信息化基础较薄弱的中小企业
快速落地。
综上,本系统适用于以"人与人沟通 + 业务消息触达"为核心的轻量协同场景,可帮助中小
商贸企业将分散在社交软件中的工作沟通,沉淀为可管理、可追溯的企业沟通通道。
本项目是一套完整的即时通讯(IM)系统,由 uni-app 移动端、Spring Boot 业务服务、
Netty 消息网关三部分组成,支持 Android、iOS、微信小程序多端运行。主要功能模块如下:
1. 用户模块:账号注册登录、JWT 令牌鉴权、个人资料与头像修改、密码修改、账号注销,
并提供用户协议与隐私政策的查看入口。
2. 私聊模块:支持文字、表情、图片、语音、视频、文件等多种消息类型,具备消息撤回、
已读回执、消息时间分组、历史消息分页拉取、离线消息补推等能力。
3. 群聊模块:支持创建群聊、修改群资料与群头像、邀请/移除成员、设置群主与管理员、
群禁言与解禁、退出与解散群聊,群内消息全员实时广播。
4. 好友模块:好友搜索与添加、申请与审批、好友备注与删除、在线状态实时同步、
会话免打扰设置。
5. 音视频模块:基于 WebRTC 实现一对一语音/视频通话,以及最多 9 人的多人视频通话,
包含呼叫、接听、拒接、挂断、邀请入会、成员退出等完整信令流程,通过 coturn 完成
NAT 穿透。
6. 文件服务:基于 MinIO 对象存储实现图片、语音、视频、文件的上传、压缩与下载,
并支持文件过期清理。
7. 系统模块:应用内版本检查与更新、消息待投递补偿、异常消息重发。
消息通过 WebSocket 长连接实时收发,服务端以 Redis 缓存在线状态与分布式锁、
MySQL 持久化消息与关系数据,保证多端消息一致。
我主要负责移动端 uni-app 的页面开发与服务端消息模块的联调:完成登录注册、会话列表、
聊天窗口、消息气泡多类型渲染、图片与文件上传、音视频通话等页面;基于 WebSocket 封装
消息收发、心跳保活与断线重连;参与 Netty 网关的消息协议设计与消息类型扩展,实现已读
回执、消息撤回、离线消息补推等功能;使用 Redis 缓存在线状态并通过分布式锁解决并发
重复投递问题,文件统一走 MinIO 存储。
技术栈:Spring Boot + MyBatis-Plus + MySQL + Redis + Netty + WebRTC + MinIO,
前端为 uni-app(Vue2)+ uView。
实现难点在于多端消息一致性与弱网重连:通过消息序号去重、待投递表补偿、客户端本地
补拉三个机制配合,解决消息丢失与重复问题。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!

下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论