|
|
преди 1 месец | |
|---|---|---|
| .. | ||
| docs | преди 1 месец | |
| ruoyi-chat | преди 1 месец | |
| README.md | преди 1 месец | |
基于若依框架(RuoYi)+ Java 17 + WebSocket 构建的即时通讯后端服务
┌─────────────────────────────────────────────────────────────────────────────┐
│ 在线客服系统总体架构 │
├──────────────────┬──────────────────────┬───────────────────────────────────┤
│ 微信小程序端 │ PC 平台坐席端 │ PC 商家端 │
│ pages/chat/ │ pc-web-preview/ │ merchant-chat-pc/ │
│ chat.vue │ ChatWorkbench.vue │ Chat.vue │
├──────────┬────────┴──────────┬───────────┴─────────┬─────────────────────────┤
│ │ HTTP REST API │ │ │
│ │ WebSocket │ │ │
│ ▼ ▼ ▼ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Spring Boot 后端服务 │ │
│ │ (RuoYi Framework + JDK 17) │ │
│ ├──────────────────────────────────────────────────┤ │
│ │ • 消息服务 (WebSocket + MySQL 持久化) │ │
│ │ • 会话管理服务 │ │
│ │ • 文件上传服务 (MinIO/本地) │ │
│ │ • 坐席管理服务 │ │
│ │ • 订单集成服务 │ │
│ │ • 倒计时业务服务 │ │
│ └──────────────────────────────────────────────────┘ │
│ │ │
│ ┌─────────────┼───────────────┐ │
│ ▼ ▼ ▼ │
│ MySQL Redis MinIO │
│ (主数据库) (缓存+会话) (文件存储) │
└─────────────────────────────────────────────────────────────────────────────┘
| 层 | 技术 | 版本 | 说明 |
|---|---|---|---|
| 后端框架 | Spring Boot | 2.7.x | 基础 Web 框架 |
| 开发语言 | Java | JDK 17 | 主开发语言 |
| 权限框架 | RuoYi | 3.8.x | 若依企业级快速开发框架 |
| 实时通信 | Spring WebSocket | — | 双向实时消息推送 |
| 消息代理 | STOMP over WebSocket | — | 消息协议 |
| 主数据库 | MySQL | 8.0 | 核心业务数据存储 |
| 缓存数据库 | Redis | 7.x | 会话状态、消息队列缓存 |
| 文件存储 | MinIO | 最新稳定版 | 图片/附件存储 |
| ORM | MyBatis Plus | 3.5.x | 数据库操作 |
| 连接池 | Druid | 1.2.x | 数据库连接池 |
| API 文档 | Knife4j (Swagger) | 3.x | 在线 API 文档 |
| 构建工具 | Maven | 3.8.x | 项目构建 |
backend-service/
├── README.md # 本文档
├── docs/
│ ├── API接口文档.md # 完整 REST API 说明
│ ├── WebSocket消息协议.md # WS 消息格式说明
│ ├── 数据库设计.sql # 建表 SQL
│ └── 部署运行指南.md # 环境搭建与运行说明
└── ruoyi-chat/ # 若依子模块(聊天业务)
├── pom.xml
└── src/main/java/com/ruoyi/chat/
├── config/ # WebSocket/Redis 配置
├── controller/ # REST 控制器
├── domain/ # 实体类
├── dto/ # 数据传输对象
├── mapper/ # MyBatis Mapper
├── service/ # 业务逻辑层
└── websocket/ # WebSocket 处理器
详细步骤请参阅
docs/部署运行指南.md
# 1. 确认 JDK 版本
java -version # 需要 JDK 17
# 2. 启动 MySQL(确认数据库已创建并执行 SQL 脚本)
# 3. 启动 Redis
redis-server
# 4. 启动 MinIO(可选,使用本地存储可跳过)
minio server /data
# 5. 进入项目目录运行
cd ruoyi-chat
mvn spring-boot:run
# 6. 查看 API 文档
# 浏览器打开: http://localhost:8080/doc.html