一、系统概述
陪玩鹿是一款多端适配(APP、小程序、Web)的线上游戏陪玩陪练平台,提供用户匹配、语音聊天、动态社区、订单管理、公会系统、打赏互动等功能。系统基于模块化设计,支持高并发场景,并通过动态安全检测机制保障用户交互的安全性。
二、技术架构
1. 后端架构
-
框架:Spring Boot 2.x + MyBatis-Plus
-
数据库:MySQL 5.7+(InnoDB引擎,支持事务)
-
核心功能:
-
用户鉴权:JWT + Spring Security
-
消息推送:集成极光推送(APP端)
-
支付对接:微信支付、支付宝支付
-
安全检测:敏感词过滤、动态内容审核(对接微信关键词过滤API)
-
异步处理:Spring Task定时任务(如订单状态更新、收益统计)
-
2. 用户端(跨平台)
-
技术栈:UniApp(Vue 2.x语法)
-
多端适配:通过条件编译实现小程序、APP差异化逻辑。
-
核心模块:
-
聊天系统:WebSocket实时通信 + 语音消息录制(基于Recorder.js)
-
动态社区:图片/视频上传(OSS存储)、点赞/评论/打赏
-
订单支付:Native支付接口(微信/支付宝) + 优惠券抵扣逻辑
-
3. 管理后台
-
技术栈:Vue 2.x + ElementUI
-
核心功能:
-
数据统计:ECharts图表展示(订单、充值、收益等)
-
权限管理:RBAC模型(角色-菜单绑定)
-
内容审核:动态/聊天记录审核队列(软删除机制)
-
三、核心功能模块技术实现
1. 用户端功能
-
动态模块
-
技术实现:
-
图片裁剪:基于
canvas
实现客户端裁剪,减少服务器压力。 -
敏感词过滤:服务端正则表达式匹配 + 微信API二次校验。
-
-
数据库设计:
-
dynamic
表存储动态内容,关联user
、comment
、like
表。
-
-
-
订单系统
-
状态机设计:
-
订单状态流转:待支付 → 待接单 → 服务中 → 已完成/退款。
-
使用MyBatis-Plus乐观锁解决并发修改问题。
-
-
退款逻辑:
-
调用支付平台退款接口 + 记录
refund_log
表。
-
-
-
聊天系统
-
实时通信:WebSocket长连接 + 消息持久化(
chat_message
表)。 -
打赏功能:
-
客户端生成打赏订单 → 支付成功后推送消息至聊天窗口。
-
分账逻辑:平台抽成 + 公会抽成(基于配置比例)。
-
-
2. 管理后台功能
-
数据统计
-
技术实现:
-
使用MyBatis-Plus动态SQL生成统计查询(按日/月/年筛选)。
-
数据导出:POI生成Excel文件,支持异步导出任务。
-
-
示例SQL:
sql
复制
SELECT COUNT(*) AS order_count, SUM(amount) AS total_amount FROM order WHERE status = 'completed' AND create_time BETWEEN #{start} AND #{end}
-
-
公会管理
-
数据库设计:
-
guild
表存储公会信息,关联user_guild
(成员关系)、guild_income
(收益记录)。
-
-
审核流程:
-
申请加入/退出公会 → 后台审核 → 消息通知(WebSocket推送)。
-
-
四、安全与性能优化
1. 安全机制
-
内容安全:
-
动态/聊天内容审核:异步队列 + 人工复审。
-
投诉处理:投诉记录关联
user
、chat_message
,支持封号/限流。
-
-
支付安全:
-
支付签名验证(MD5 + 盐值加密)。
-
订单防重:基于Redis分布式锁(
order:lock:{orderId}
)。
-
2. 性能优化
-
缓存策略:
-
Redis缓存热门数据(如用户信息、游戏分类)。
-
-
数据库优化:
-
订单表按月份分表(
order_202308
)。 -
索引优化:对
user_id
、create_time
等高频查询字段添加索引。
-
五、部署与运维
-
后端部署:
-
使用Docker容器化部署(Spring Boot Jar包)。
-
Nginx反向代理 + 负载均衡(多节点部署)。
-
-
前端发布:
-
UniApp编译生成小程序包(微信开发者工具)与APP(HBuilder云打包)。
-
-
监控:
-
Spring Boot Actuator健康检查 + Prometheus监控。
-
六、扩展性设计
-
模块化拆分:
-
将订单、支付、聊天拆分为独立子模块,便于后续微服务化。
-
-
配置中心:
-
使用Nacos实现动态配置(如开关客服企业微信、佣金比例)。
-
七、总结
陪玩鹿系统通过Spring Boot和UniApp实现高效的全栈开发,结合安全检测机制和模块化设计,保障了系统的稳定性和扩展性。未来可扩展方向包括引入AI内容审核、实时音视频通话等能力。
附录:部署文档、API接口文档、数据库ER图(请联系客服获取)。