一、 系统架构与技术选型
为了适应微信小程序、H5及APP多端运行,并保证即时通讯的稳定性,推荐以下技术组合:
-
前端交互层 (UniApp)
- 框架:Vue.js + UniApp。
- 优势:一套代码编译发布到微信小程序、iOS/Android App及H5,降低维护成本。
- 模块:用户端(下单、进度查看、IM聊天)、打手端(实名认证、接单大厅、凭证上传)。
-
后端服务层 (ThinkPHP)
- 框架:ThinkPHP 8.1 或 Laravel。
- 功能:提供RESTful API接口,处理业务逻辑、订单状态流转、支付回调及权限控制。
- 优势:成熟稳定,社区资源丰富,适合快速构建电商类交易逻辑。
-
即时通讯层 (Workerman)
- 技术:Workerman (PHP异步高性能网络通信引擎)。
- 功能:自建WebSocket服务,实现用户与打手之间的实时文字/图片聊天、订单状态实时推送。
- 优势:无需依赖昂贵的第三方IM服务,数据私有化,支持高并发连接。
-
数据存储层
- MySQL 5.7+:存储用户信息、订单数据、财务流水等结构化数据。
- Redis:用于缓存热点数据(如游戏列表)、会话管理及处理高并发抢单队列。
二、 服务器环境与独立部署准备
独立部署需要自行准备服务器环境,建议配置如下:
-
硬件配置
- 服务器:建议4核8G起步,带宽5Mbps+,以应对高峰期流量。
- 操作系统:CentOS 7.9+ 或 Ubuntu 20.04+。
-
软件环境 (宝塔面板一键安装)
- Nginx:Web服务器,处理静态资源及反向代理。
- PHP:版本建议7.4 – 8.1,需安装
fileinfo,redis,swoole(可选) 扩展。 - MySQL:数据库服务。
- Redis:缓存及队列服务。
-
域名与SSL证书
- ICP备案:微信小程序强制要求域名必须经过工信部ICP备案。
- HTTPS:必须配置SSL证书,否则小程序无法发起网络请求。可在宝塔面板中免费申请Let’s Encrypt证书。
三、 源码部署实操步骤
1. 后端部署
- 上传源码:将ThinkPHP后端源码上传至服务器网站根目录(如
/www/wwwroot/your_project)。 - 配置伪静态:在Nginx配置中设置ThinkPHP伪静态规则,防止路由404错误。
- 数据库导入:
- 创建数据库,字符集设为
utf8mb4。 - 导入源码包中的
.sql文件。
- 创建数据库,字符集设为
- 配置文件修改:
- 复制
.env.example为.env。 - 填写数据库账号密码、Redis配置、微信小程序AppID/Secret、微信支付商户号密钥等敏感信息。
- 复制
- 启动Socket服务:
- 通过SSH连接服务器,执行命令启动Workerman服务:
php think worker:start -d(守护进程模式)。 - 确保服务器防火墙开放了Socket端口(如2000-2010)。
- 通过SSH连接服务器,执行命令启动Workerman服务:
2. 前端部署
- 配置API地址:在UniApp项目的配置文件中,将后端API域名替换为你已备案的域名。
- 编译发布:
- 使用 HBuilderX 打开项目。
- 选择“发行” -> “小程序-微信”,生成微信小程序代码包。
- 微信后台配置:
- 登录微信公众平台,在“开发管理”中配置
request合法域名、uploadFile合法域名、downloadFile合法域名及socket合法域名。
- 登录微信公众平台,在“开发管理”中配置
3. 管理后台部署
- 将管理后台Web项目上传至服务器子目录或子域名,配置Nginx指向即可访问。后台通常包含订单仲裁、财务结算、内容配置等功能。
四、 核心功能模块详解
-
交易担保流程
- 下单:用户支付全款,资金暂存平台,状态为“待接单”。
- 接单:打手缴纳押金或直接接单,状态变为“进行中”。
- 履约:打手上传游戏截图/视频作为凭证,用户确认或超时自动确认。
- 结算:订单完成后,平台扣除佣金(如20%-30%),剩余款项打入打手余额。
-
即时通讯 (IM)
- 基于WebSocket实现实时聊天,消息内容需进行敏感词过滤。
- 聊天记录需留存至少6个月,以备纠纷仲裁。
-
风控与合规
- 实名认证:打手必须上传身份证及游戏战绩截图,后台审核后方可接单。
- 未成年人保护:前端显著位置提示“禁止未成年人下单”,并接入微信实名校验。
- 类目选择:小程序类目建议选择“文娱-游戏”或“社交-陪玩”,避免使用违规词汇如“代练”,可用“护航”、“指导”替代



