一、项目概述

1.1 项目定位

一套面向游戏代练、护航陪玩、电竞教学等场景的服务平台,支持多端同步(微信小程序、H5、公众号、APP)。

1.2 适用场景

  • 代练公司 / 游戏工会 / 打手工作室

  • 游戏主播(引流变现)

  • 中小型网络公司(平台化运营)

1.3 支持游戏品类

三角洲行动、英雄联盟、王者荣耀、永劫无间、绝地求生、和平精英、原神等全品类游戏。


二、技术架构详解

2.1 前端技术栈

技术选型 说明
移动端(小程序/H5/APP) Uni-app 一套代码,多端发布
状态管理 Vuex 用户登录、订单状态同步
UI组件库 uView UI 高颜值、组件丰富
网络请求 uni.request + 拦截器 Token认证、错误统一处理

2.2 后端技术栈

模块 技术选型 说明
核心框架 ThinkPHP 6.0 国内主流PHP框架,文档完善
数据库 MySQL 5.7 InnoDB引擎,支持事务
缓存 Redis 用户session、订单锁、消息队列
消息推送 WebSocket / uni.push 订单实时通知
后台管理 TP6原生后台 + layui 简洁易用

2.3 目录结构(核心)

/

2.4 数据库设计(核心表结构)

表名 说明
user 用户表(角色区分:老板/打手/客服/管事)
game_category 游戏分类表(三角洲、LOL等)
order 订单表(状态机:待接单→进行中→待审核→已完成)
order_log 订单操作日志
player 打手信息表(战绩、擅长英雄、段位)
team 工会/工作室表
commission 佣金结算记录
distributor 管事分销表

三、核心功能模块代码解析

3.1 订单状态机设计(TP6模型事件)

// app/common/model/Order.php
class Order extends BaseModel
{
    // 订单状态常量
    const STATUS_WAIT = 0;      // 待接单
    const STATUS_PROCESS = 1;   // 进行中
    const STATUS_CHECK = 2;     // 待审核
    const STATUS_COMPLETE = 3;  // 已完成
    const STATUS_CANCEL = 4;    // 已取消

    // 模型事件:状态变更自动记录日志
    public static function onBeforeUpdate($order)
    {
        if ($order->getOrigin('status') != $order->status) {
            OrderLog::create([
                'order_id' => $order->id,
                'from_status' => $order->getOrigin('status'),
                'to_status' => $order->status,
                'operator' => session('user_id')
            ]);
        }
    }
}

3.2 抢单机制(Redis实现防超抢)

/

3.3 Uni-app前端请求封装

/

四、服务器部署实战(宝塔面板)

4.1 环境要求

项目 要求
操作系统 CentOS 7.x / Ubuntu 20.04
服务器配置 2核4G起步(生产环境建议4核8G)
PHP版本 7.3 / 7.4(需要fileinfo、redis、curl扩展)
MySQL版本 5.7
Nginx版本 1.18+
Redis 6.0+(可选,强烈推荐)

4.2 部署步骤

Step 1:安装宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
Step 2:安装运行环境

在宝塔面板「软件商店」一键安装:

  • Nginx 1.22

  • MySQL 5.7

  • PHP 7.4

  • Redis 7.0

Step 3:上传后端源码
# 将源码上传至 /www/wwwroot/yourdomain.com
cd /www/wwwroot/yourdomain.com
# 设置运行目录为 /public
# 配置伪静态:选择 thinkphp
Step 4:配置数据库
# 创建数据库(编码 utf8mb4)
# 导入源码包中的 .sql 文件
# 修改 .env 文件

.env 配置示例:

APP_DEBUG = false
DATABASE_HOSTNAME = 127.0.0.1
DATABASE_DATABASE = game_platform
DATABASE_USERNAME = root
DATABASE_PASSWORD = your_password
REDIS_HOST = 127.0.0.1
REDIS_PORT = 6379
Step 5:Uni-app前端编译
# 1. 用 HBuilderX 打开前端项目
# 2. 修改 common/siteinfo.js
export default {
    name: "电竞服务平台",
    apiUrl: "https://yourdomain.com"
}
# 3. 点击「发行」→「微信小程序」或「H5」

五、二次开发与扩展建议

5.1 接入第三方服务

服务类型 推荐方案 用途
微信支付 微信商户号 订单支付、佣金提现
阿里云OSS 对象存储 用户头像、截图存储
腾讯云IM IM即时通讯 老板-打手聊天
高德地图 定位API 同城陪玩场景

5.2 性能优化建议

  • 订单列表接口增加Redis缓存,TTL=60s

  • 抢单接口使用Redis分布式锁(代码已实现)

  • 静态资源(图片/JS/CSS)走CDN加速

  • 数据库索引优化:order表的statususer_idcreate_time

5.3 安全注意事项

  • 所有用户输入使用TP6内置验证器

  • 敏感接口(提现、修改密码)增加短信验证

  • 开启HTTPS(宝塔一键申请SSL证书)

  • 定期备份数据库(宝塔计划任务)


六、总结

这套基于 ThinkPHP6 + Uni-app 的电竞服务平台源码,功能完整、架构清晰,无论是直接部署运营还是二次开发定制,都非常适合。

优势总结:

  • ✅ 五端联动(老板/打手/客服/管事/工会)

  • ✅ 全游戏品类支持

  • ✅ 多端发布(小程序/H5/APP)

  • ✅ 成熟的订单状态机和抢单锁机制

  • ✅ 完善的佣金结算体系

注意事项:

  • 运维需配置好服务器安全和备份策略

  • 运营需关注游戏厂商相关政策

如果你正在寻找一套可商用的电竞服务平台源码,这套系统值得认真考虑。


源码获取/技术交流欢迎私信或评论区留言。

Logo

一站式 AI 云服务平台

更多推荐