# tlSdlt_陪陪_在线下单陪玩系统 **Repository Path**: suhaipeng/tl-sdlt ## Basic Information - **Project Name**: tlSdlt_陪陪_在线下单陪玩系统 - **Description**: 树洞聊天,陪陪系统,线上下单陪玩系统 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-06-03 - **Last Updated**: 2025-10-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # tlSdlt · 树洞陪聊 / 陪玩系统 > 线上「树洞」+「陪聊 / 陪玩」一体化平台,支持用户下单、店员接单、礼物打赏、盲盒匹配、实时连麦、IM 聊天、等级体系、分销裂变等能力。 > 管理端基于 Vue2 + ElementUI,用户端基于 UniApp(H5 + 小程序 + App 三端合一)。 --- ## 1. 业务速览 | 模块 | 核心能力 | | ---- | -------- | | 下单 | 选人下单 / 随机盲盒 / 买断、连麦、文语、视频 | | 店员 | 金牌、镇店、男神、女神多等级;可设置技能、价格、时段 | | 支付 | 微信 / 支付宝 原生 + 沙箱;订单分账、店员提现 | | 礼物 | 18 款特效礼物,支持「一键打赏」+「连击动画」 | | IM | Redis 发布订阅 + Netty 实现 1 对 1 实时消息(文本 / 语音 / 图片) | | 语音 | 腾讯 TRTC 实时连麦,30 min 自动挂断,录音云端存储 | | 盲盒 | 随机匹配店员,支持「再来一次」+「必出镇店」概率控制 | | 分销 | 二级裂变 + 邀请码 + 佣金实时到账余额 | | 管理 | 店员审核、订单仲裁、礼物管理、数据大盘、风控拦截 | --- ## 2. 技术栈 | 领域 | 选型 | 理由 | | ---- | ---- | ---- | | 基础框架 | Spring Boot 2.7.x | 生态成熟,开箱即用,一键打包 Docker | | 数据层 | MySQL 8.0 + MyBatis-Plus | 主从 + 分库分表插件,代码生成器节省 70% Dao 工作量 | | 缓存 | Redis 6.2 | 分布式锁、消息队列、在线状态、订单过期监听 | | 消息 | Redisson Pub/Sub | 轻量级,兼容 Spring Event,低延迟 | | 安全 | Spring Security JWT | 多终端统一认证,支持同端互踢 | | 文件 | MinIO / 阿里云 OSS | 私有云+公有云双策略,切片上传、秒传 | | 通信 | Netty 4.x | 单机 5w 并发 IM,心跳检测、断线重连 | | 语音 | 腾讯 TRTC | 低延迟全球节点,支持 48kHz 高清通话 | | 前端-管理 | Vue2 + ElementUI | 后台 40+ 业务组件,权限粒度到按钮 | | 前端-用户 | UniApp + uView | 一份代码发布 H5、微信小程序、iOS、Android | | 运维 | Docker-Compose + Shell | 一键 `make run` 启动所有中间件 | --- ## 3. 架构图 ``` ┌----------------- CDN / WAF -----------------┐ │ 小程序 | H5 | App | 管理后台 | 支付回调 │ └-----------┬-----------┬-----------┬-----------┘ │ │ │ │ │ ▼ │ │ 阿里/微信支付 │ ▼ │ API 网关(Nginx + Sentinel) ▼ ┌---------------------------------------------┐ │ SpringBoot 集群(stateless,k8s 水平扩容) │ │ - 用户服务 | 订单服务 | IM 服务 │ │ - 语音服务 | 支付服务 | 营销服务 │ └---------------------------------------------┘ │读写分离│ ▼ ┌------------------ MySQL + ShardingSphere ------------------┐ │ 用户库 | 订单库 | 财务库 | 消息库 | 日志库 | 报表库 │ └-------------------------------------------------------------┘ │缓存│发布订阅│ ▼ ┌------------------ Redis Cluster ------------------┐ │ 缓存 | 分布式锁 | 在线状态 | 延迟队列 | 消息总线 │ └----------------------------------------------------┘ ``` --- ## 4. 快速开始 ### 4.1 环境要求 - JDK 8 ~ 17 - Maven 3.6+ - MySQL 8.0+ - Redis 6.2+ - Node 14+(前端编译) - Docker & Docker-Compose(可选,懒人模式) ### 4.2 拉取代码 ```bash git clone https://github.com/yourname/tlSdlt.git cd tlSdlt ``` ### 4.3 一键安装中间件(可选) ```bash cd docker docker-compose up -d # 自动创建 mysql+redis+minio ``` ### 4.4 初始化数据库 ```bash # 1. 创建数据库 mysql -uroot -p123456 -e "CREATE DATABASE treehole DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;" # 2. 执行初始化脚本 mysql -uroot -p123456 treehole < doc/sql/init.sql ``` ### 4.5 启动后端 ```bash cd backend mvn clean package -DskipTests java -jar target/tlSdlt.jar --spring.profiles.active=dev ``` 默认端口:`8080` Swagger 文档:http://localhost:8080/doc.html ### 4.6 启动前端 ```bash # 管理后台 cd admin npm i npm run dev # http://localhost:9527 # 用户端(H5) cd uniapp npm i npm run dev:%h5 # 本地热更新 npm run build:mp-weixin # 微信小程序 ``` --- ## 5. 使用说明(图文) ### 5.1 选人下单 ![输入图片说明](https://foruda.gitee.com/images/1760771575819413626/2136d0fd_1230054.jpeg "微信图片_20251018150359_50_130.jpg") ### 5.2 随机盲盒 ![输入图片说明](https://foruda.gitee.com/images/1760771585829257240/d063f9ce_1230054.jpeg "微信图片_20251018150402_53_130.jpg") ### 5.3 礼物图鉴 ![输入图片说明](https://foruda.gitee.com/images/1760771645734673210/a244a4e0_1230054.jpeg "微信图片_20251018150401_52_130.jpg") ### 5.4 打赏店员 ![输入图片说明](https://foruda.gitee.com/images/1760771631241187895/ca1fba37_1230054.jpeg "微信图片_20251018150400_51_130.jpg") ### 5.5 个人中心 ![输入图片说明](https://foruda.gitee.com/images/1760771622481296674/b6acbb56_1230054.jpeg "微信图片_20251018150402_54_130.jpg") --- ## 6. 目录结构 ``` tlSdlt ├─ docker # 一键中间件 ├─ doc │ ├─ sql # 数据库脚本 │ └─ api # 开放接口文档 ├─ backend # SpringBoot 多模块 │ ├─ tlSdlt-common │ ├─ tlSdlt-user │ ├─ tlSdlt-order │ ├─ tlSdlet-im │ └─ tlSdlt-admin ├─ admin # Vue2 管理端 ├─ uniapp # 用户端(H5+小程序+App) └─ README.md ``` --- ## 7. 如何贡献代码 1. Fork 本仓库 2. 新建分支 `feat/xxx` 或 `fix/xxx` 3. 提交信息遵循 [Conventional Commits](https://conventionalcommits.org) 4. 推送并提交 Pull Request(CI 通过自动合并) --- ## 8. 常见问题 | 问题 | 解决方案 | | ---- | -------- | | 启动报错 “Redis connection failed” | 检查 `spring.redis.host` 配置,确认 Docker 端口映射 | | 微信支付回调验签失败 | 确认商户 APIv3 密钥与证书路径,勿用 APIv2 密钥 | | 连麦 10s 后自动挂断 | 检查 TRTC 房间号是否重复,服务端心跳是否 5s 一次 | | 小程序审核被拒 | 关闭「擦边」关键词,开启敏感词过滤,提交「社交-语音聊天」类目 | --- ## 9. 商业授权 & 联系方式 - 本项目采用 **MIT** 许可证,可用于商业闭源,只需保留原作者版权信息即可。 - 需要二开指导、Saas 多租户版本、海外支付通道对接,请微信联系:`15110620229`(备注:tlSdlt) --- ## 10. 更新日志 [点击查看 CHANGELOG.md](CHANGELOG.md) --- 如果本仓库对你有帮助,请点个 ⭐ Star 支持一下 ~ ``` 将上面内容整体复制到 `README.md` 即可,5 张截图已按顺序插入对应章节,无需再改路径。