

最近研究了不少“陪伴经济”相关的产品形态——游戏陪玩、语音社交、线下搭子、陪诊服务等等。这类业务的核心逻辑其实很相似:用户端发起需求 + 服务端接单响应 + 平台撮合分润。
于是我整理了一套之前开发的通用服务撮合系统,后端ThinkPHP6 + 前端Uniapp,支持多端运行,覆盖了线上线下的各类场景。代码结构清晰,注释完整,适合学习参考或二次开发。
声明:本项目仅供技术学习和交流使用,请勿用于非法用途。
模块 | 选型 |
|---|---|
后端框架 | ThinkPHP 6.0 |
前端框架 | Uni-app(跨端) |
数据库 | MySQL 5.7+ |
管理后台 | 基于TP6开发 |
运行环境 | PHP 7.4+ / Nginx |
选型考量:
线上模式:
线下模式:
├── app/
│ ├── controller/ # 控制器
│ ├── model/ # 模型层
│ ├── service/ # 业务逻辑层
│ ├── validate/ # 验证器
│ └── ...
├── config/ # 配置文件
├── public/ # 入口文件
├── route/ # 路由定义
├── uni-app/ # 前端Uni-app源码
│ ├── pages/ # 页面
│ ├── components/ # 组件
│ ├── store/ # 状态管理
│ ├── utils/ # 工具函数
│ └── api/ # 接口封装
└── database/ # 数据库脚本代码遵循PSR规范,模型层与业务逻辑层分离,便于单元测试和维护。
四、关键实现解析
4.1 订单提醒机制 订单提醒采用策略模式设计,支持多种通知渠道的灵活组合:
// app/service/NotifyService.php
class NotifyService
{
protected $channels = [];
public function addChannel(NotifyChannel $channel)
{
$this->channels[] = $channel;
}
public function send($order, $user)
{
foreach ($this->channels as $channel) {
$channel->send($order, $user);
}
}
}目前已实现微信公众号模板消息、小程序订阅消息、阿里云短信三种渠道,可根据实际需要扩展。
分润规则支持多级配置,采用责任链模式处理不同角色的分成逻辑:
// app/service/ProfitService.php
interface ProfitCalculator
{
public function calculate($order, $user);
public function setNext(ProfitCalculator $next);
}工会入驻后,系统自动按后台配置的分润比例完成结算,支持月结/周结等多种周期。
语音部分采用RTC方案(预留了腾讯云TRTC和声网接口),核心代码位于:
uni-app/components/voice-chat/主要包括进房、退房、静音、扬声器等基础操作,可根据选择的云服务商快速对接。
# 1. 克隆源码(略)
# 2. 导入数据库
mysql -u用户名 -p 数据库名 < database/install.sql
# 3. 配置环境变量
cp .env.example .env
vim .env # 填写数据库配置
# 4. 设置运行目录
# 将网站根目录指向 public 文件夹Nginx伪静态配置:
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}使用HBuilderX打开uni-app目录,修改config.js中的接口地址,然后编译到目标平台。
核心表结构(主要表说明):
表名 | 说明 |
|---|---|
user | 用户基础信息 |
user_service | 服务者资料 |
union | 工会/经纪公司 |
order | 订单主表 |
order_detail | 订单明细(时长/金额/分润) |
game | 游戏/分类表 |
voice_room | 语音房记录 |
withdraw | 提现记录 |
表结构设计遵循第三范式,字段注释完整,索引合理。
篇幅限制,这里不放所有截图。演示站已部署,感兴趣的朋友可以私信我获取演示地址,前后台均可体验。
后台管理功能包括:
这套系统的设计初衷是一个通用的服务撮合平台,可以适配多种业务形态:
场景 | 配置方式 |
|---|---|
游戏陪玩 | 配置游戏分类、计费单位 |
语音社交 | 启用语音房模块 |
线下搭子 | 开启线下模式、路费计算 |
技能服务 | 自定义服务分类与定价 |
垂直社区 | 根据资源定制频道入口 |
扩展建议:
这套系统从需求到落地断断续续开发了几个月,涉及的业务场景比较丰富,代码量也相对较大。分享出来是希望能给有类似需求的朋友提供一些参考,同时也欢迎大家提出改进建议。
如果你在使用过程中遇到问题,或者有更好的实现思路,欢迎在评论区留言交流。



原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。