{ "nodes": [ { "id": "document:README.md", "type": "document", "name": "README.md", "filePath": "README.md", "summary": "项目说明文档,描述游戏SDK平台的域名配置、环境要求和相关服务", "tags": [ "documentation", "project-overview" ], "complexity": "simple" }, { "id": "config:composer.json", "type": "config", "name": "composer.json", "filePath": "composer.json", "summary": "PHP依赖管理配置文件,定义ThinkPHP 5.0框架及支付、队列等依赖包", "tags": [ "php", "dependencies", "composer" ], "complexity": "simple" }, { "id": "file:public/index.php", "type": "file", "name": "index.php", "filePath": "public/index.php", "summary": "应用入口文件,设置CORS头、定义应用路径、加载常量配置和框架引导", "tags": [ "entry-point", "php", "bootstrap" ], "complexity": "simple" }, { "id": "config:application/config.php", "type": "config", "name": "config.php", "filePath": "application/config.php", "summary": "应用主配置文件,定义模块设置、URL路由、数据库缓存、模板引擎等核心配置", "tags": [ "config", "thinkphp", "application" ], "complexity": "moderate" }, { "id": "file:application/route.php", "type": "file", "name": "route.php", "filePath": "application/route.php", "summary": "路由配置文件,定义域名到模块的映射(admin/api/guildapi/complex/home/mobile),配置PC站和M站路由规则", "tags": [ "routing", "thinkphp", "domain-mapping" ], "complexity": "complex" }, { "id": "file:application/common.php", "type": "file", "name": "common.php", "filePath": "application/common.php", "summary": "公共函数库,包含随机数生成、数组排序、加密解密、HTTP请求、日期处理等通用工具函数", "tags": [ "utility", "common", "helper" ], "complexity": "moderate" }, { "id": "file:application/tags.php", "type": "file", "name": "tags.php", "filePath": "application/tags.php", "summary": "行为扩展定义文件,配置应用初始化、路由开始、模块初始化等钩子", "tags": [ "hooks", "lifecycle", "thinkphp" ], "complexity": "simple" }, { "id": "file:application/command.php", "type": "file", "name": "command.php", "filePath": "application/command.php", "summary": "命令行配置文件,注册自定义命令如Kafka消费者", "tags": [ "cli", "commands", "kafka" ], "complexity": "simple" }, { "id": "file:application/admin/common.php", "type": "file", "name": "admin/common.php", "filePath": "application/admin/common.php", "summary": "后台公共函数库,包含权限检查、日志记录、数据格式化等后台专用工具函数", "tags": [ "admin", "utility", "helper" ], "complexity": "moderate" }, { "id": "file:application/admin/controller/Admin.php", "type": "file", "name": "Admin.php", "filePath": "application/admin/controller/Admin.php", "summary": "后台公共控制器基类,实现登录验证、权限检查、WebSocket令牌管理", "tags": [ "admin", "controller", "base-class", "auth" ], "complexity": "moderate" }, { "id": "file:application/api/common.php", "type": "file", "name": "api/common.php", "filePath": "application/api/common.php", "summary": "API模块公共函数库,包含API签名验证、参数加密解密、渠道鉴权等", "tags": [ "api", "utility", "auth" ], "complexity": "moderate" }, { "id": "file:application/api/controller/v1/Login.php", "type": "file", "name": "Login.php", "filePath": "application/api/controller/v1/Login.php", "summary": "用户登录控制器,处理账号密码登录、手机验证码登录、第三方登录等", "tags": [ "api", "login", "authentication" ], "complexity": "moderate" }, { "id": "file:application/api/controller/v1/Pay.php", "type": "file", "name": "Pay.php", "filePath": "application/api/controller/v1/Pay.php", "summary": "支付控制器,处理游戏内充值、创建订单、调用支付渠道(支付宝/微信)", "tags": [ "api", "payment", "alipay", "wechat" ], "complexity": "complex" }, { "id": "file:application/api/controller/v1/PayNotify.php", "type": "file", "name": "PayNotify.php", "filePath": "application/api/controller/v1/PayNotify.php", "summary": "支付回调控制器,接收支付宝/微信支付结果通知,更新订单状态", "tags": [ "api", "payment", "callback", "webhook" ], "complexity": "complex" }, { "id": "file:application/api/controller/v1/Index.php", "type": "file", "name": "Index.php", "filePath": "application/api/controller/v1/Index.php", "summary": "API首页控制器,处理游戏列表、游戏详情、推广页面等", "tags": [ "api", "game", "index" ], "complexity": "moderate" }, { "id": "file:application/service/PayService.php", "type": "file", "name": "PayService.php", "filePath": "application/service/PayService.php", "summary": "支付服务类,封装支付宝WAP支付、APP支付、扫码支付等支付方式的调用逻辑", "tags": [ "service", "payment", "alipay", "core" ], "complexity": "complex" }, { "id": "file:application/service/GamePayService.php", "type": "file", "name": "GamePayService.php", "filePath": "application/service/GamePayService.php", "summary": "游戏支付服务类,处理游戏充值订单创建、支付渠道选择、回调处理", "tags": [ "service", "payment", "game" ], "complexity": "complex" }, { "id": "file:application/service/CommonService.php", "type": "file", "name": "CommonService.php", "filePath": "application/service/CommonService.php", "summary": "通用服务类,提供数据查询、缓存管理、配置获取等基础服务", "tags": [ "service", "common", "utility" ], "complexity": "moderate" }, { "id": "file:application/common/model/Game.php", "type": "file", "name": "Game.php", "filePath": "application/common/model/Game.php", "summary": "游戏数据模型,定义游戏表结构和关联关系", "tags": [ "model", "game", "database" ], "complexity": "moderate" }, { "id": "file:application/common/model/Members.php", "type": "file", "name": "Members.php", "filePath": "application/common/model/Members.php", "summary": "会员数据模型,定义用户表结构、登录状态、充值记录等关联", "tags": [ "model", "user", "database" ], "complexity": "moderate" }, { "id": "file:application/common/model/Pay.php", "type": "file", "name": "Pay.php", "filePath": "application/common/model/Pay.php", "summary": "支付订单数据模型,定义订单表结构、支付状态、退款记录等", "tags": [ "model", "payment", "database" ], "complexity": "moderate" }, { "id": "file:application/common/model/Channel.php", "type": "file", "name": "Channel.php", "filePath": "application/common/model/Channel.php", "summary": "渠道数据模型,定义渠道表结构、渠道配置、分成比例等", "tags": [ "model", "channel", "database" ], "complexity": "moderate" }, { "id": "file:application/common/model/Admin.php", "type": "file", "name": "Admin.php", "filePath": "application/common/model/Admin.php", "summary": "管理员数据模型,定义后台用户表结构、角色权限关联", "tags": [ "model", "admin", "database" ], "complexity": "moderate" }, { "id": "file:application/common/controller/Base.php", "type": "file", "name": "Base.php", "filePath": "application/common/controller/Base.php", "summary": "基础控制器类,提供跨模块的公共方法如响应输出、日志记录、异常处理", "tags": [ "controller", "base-class", "common" ], "complexity": "moderate" }, { "id": "file:application/guildapi/controller", "type": "file", "name": "guildapi/controllers", "filePath": "application/guildapi/controller", "summary": "公会API控制器目录,处理公会后台的频道管理、数据统计、结算等接口", "tags": [ "guild", "api", "controller" ], "complexity": "moderate" }, { "id": "file:application/complex/controller", "type": "file", "name": "complex/controllers", "filePath": "application/complex/controller", "summary": "渠道SDK对接控制器目录,处理第三方渠道的登录、支付、数据同步等", "tags": [ "complex", "channel", "sdk" ], "complexity": "complex" }, { "id": "file:application/home/controller", "type": "file", "name": "home/controllers", "filePath": "application/home/controller", "summary": "官网控制器目录,处理PC端官网的游戏展示、用户中心、客服系统等", "tags": [ "home", "website", "frontend" ], "complexity": "moderate" }, { "id": "file:application/mobile/controller", "type": "file", "name": "mobile/controllers", "filePath": "application/mobile/controller", "summary": "移动端控制器目录,处理H5端的游戏展示、用户中心、支付等", "tags": [ "mobile", "h5", "frontend" ], "complexity": "moderate" }, { "id": "file:application/crontab", "type": "file", "name": "crontab", "filePath": "application/crontab", "summary": "定时任务目录,包含渠道结算、数据统计、支付超时处理等定时任务", "tags": [ "cron", "scheduled", "batch" ], "complexity": "moderate" }, { "id": "file:application/command/KafkaConsumer.php", "type": "file", "name": "KafkaConsumer.php", "filePath": "application/command/KafkaConsumer.php", "summary": "Kafka消费者命令,异步处理消息队列中的任务", "tags": [ "kafka", "queue", "async" ], "complexity": "moderate" }, { "id": "file:extend/alipay", "type": "file", "name": "alipay SDK", "filePath": "extend/alipay", "summary": "支付宝SDK扩展目录,包含支付宝支付接口的PHP实现", "tags": [ "alipay", "sdk", "payment" ], "complexity": "complex" }, { "id": "file:extend/DouYinGameOpen", "type": "file", "name": "DouYinGameOpen", "filePath": "extend/DouYinGameOpen", "summary": "抖音游戏开放平台SDK,处理抖音渠道的登录和支付", "tags": [ "douyin", "sdk", "channel" ], "complexity": "moderate" }, { "id": "file:extend/LdzfPay", "type": "file", "name": "LdzfPay", "filePath": "extend/LdzfPay", "summary": "联动支付SDK扩展,提供联动优势支付渠道的接入", "tags": [ "ldzf", "sdk", "payment" ], "complexity": "moderate" }, { "id": "file:extend/Obs", "type": "file", "name": "ObsClient", "filePath": "extend/Obs", "summary": "华为云OBS客户端扩展,用于对象存储服务(文件上传下载)", "tags": [ "huawei", "obs", "storage" ], "complexity": "moderate" }, { "id": "file:thinkphp", "type": "file", "name": "ThinkPHP Framework", "filePath": "thinkphp", "summary": "ThinkPHP 5.0框架核心目录,包含路由、控制器、模型、视图等核心组件", "tags": [ "framework", "thinkphp", "core" ], "complexity": "complex" }, { "id": "file:public/static", "type": "file", "name": "static assets", "filePath": "public/static", "summary": "静态资源目录,包含CSS、JavaScript、图片、字体等前端资源", "tags": [ "static", "frontend", "assets" ], "complexity": "simple" }, { "id": "file:application/admin/view", "type": "file", "name": "admin views", "filePath": "application/admin/view", "summary": "后台视图模板目录,包含后台管理界面的HTML模板文件", "tags": [ "admin", "view", "template" ], "complexity": "simple" }, { "id": "config:.env_dev", "type": "config", "name": ".env_dev", "filePath": ".env_dev", "summary": "开发环境配置文件,包含数据库连接、Redis配置、第三方服务密钥等", "tags": [ "config", "env", "development" ], "complexity": "simple" }, { "id": "config:.env_pro", "type": "config", "name": ".env_pro", "filePath": ".env_pro", "summary": "生产环境配置文件,包含生产数据库、Redis、支付密钥等敏感配置", "tags": [ "config", "env", "production" ], "complexity": "simple" }, { "id": "file:public/constants.php", "type": "file", "name": "constants.php", "filePath": "public/constants.php", "summary": "全局常量定义文件,定义域名、路径、状态码等应用常量", "tags": [ "constants", "config", "global" ], "complexity": "simple" }, { "id": "file:application/common/library", "type": "file", "name": "common/library", "filePath": "application/common/library", "summary": "公共类库目录,包含WebSocket、短信发送、文件处理、数据导出等工具类", "tags": [ "library", "common", "utility" ], "complexity": "moderate" }, { "id": "file:application/common/logic", "type": "file", "name": "common/logic", "filePath": "application/common/logic", "summary": "公共业务逻辑目录,包含支付工厂、子包管理、数据同步等业务逻辑", "tags": [ "logic", "business", "common" ], "complexity": "moderate" }, { "id": "file:application/common/validate", "type": "file", "name": "common/validate", "filePath": "application/common/validate", "summary": "公共验证器目录,定义请求参数验证规则", "tags": [ "validate", "common", "input" ], "complexity": "simple" }, { "id": "file:application/extra", "type": "file", "name": "extra configs", "filePath": "application/extra", "summary": "扩展配置目录,包含Kafka配置、队列配置、操作日志配置等", "tags": [ "config", "extra", "kafka" ], "complexity": "simple" } ], "project": { "name": "new_sdk", "analyzedAt": "2026-06-30T09:17:43Z", "languages": [ "php", "html", "javascript", "css" ], "frameworks": [ "ThinkPHP" ], "gitCommitHash": "7d315b54fbf4a43df94cdcfca70d7507c65d9628", "description": "游戏SDK平台 - 基于ThinkPHP 5.0的游戏渠道SDK对接、支付回调、公会管理后台" }, "tour": [ { "order": 1, "title": "项目概览", "description": "阅读README了解项目背景:这是一个基于ThinkPHP 5.0的游戏SDK平台,包含后台管理、API接口、公会系统、渠道SDK对接等模块", "nodeIds": [ "document:README.md" ] }, { "order": 2, "title": "应用入口", "description": "从public/index.php开始,了解应用如何启动:设置CORS头、加载常量配置、引入ThinkPHP框架", "nodeIds": [ "file:public/index.php" ] }, { "order": 3, "title": "路由配置", "description": "查看route.php理解域名路由映射:不同子域名(admin/api/www/m等)对应不同模块,实现多站点共用一套代码", "nodeIds": [ "file:application/route.php" ] }, { "order": 4, "title": "配置系统", "description": "了解配置层:.env文件存储环境变量,config.php读取环境配置,extra目录存放扩展配置", "nodeIds": [ "config:.env_dev", "config:application/config.php", "file:application/extra" ] }, { "order": 5, "title": "数据模型", "description": "浏览common/model目录,了解核心数据表:Game(游戏)、Members(会员)、Pay(订单)、Channel(渠道)", "nodeIds": [ "file:application/common/model/Game.php", "file:application/common/model/Members.php", "file:application/common/model/Pay.php" ] }, { "order": 6, "title": "支付流程", "description": "追踪支付核心链路:Pay控制器 → PayService → 支付宝SDK,理解订单创建和回调处理", "nodeIds": [ "file:application/api/controller/v1/Pay.php", "file:application/service/PayService.php", "file:extend/alipay" ] }, { "order": 7, "title": "后台管理", "description": "了解后台管理系统:Admin基类控制器实现权限检查,各业务控制器继承实现具体功能", "nodeIds": [ "file:application/admin/controller/Admin.php", "file:application/common/controller/Base.php" ] }, { "order": 8, "title": "业务模块", "description": "了解多模块架构:api(游戏API)、guildapi(公会API)、complex(渠道SDK)、home(官网)、mobile(移动端)", "nodeIds": [ "file:application/guildapi/controller", "file:application/complex/controller", "file:application/home/controller" ] }, { "order": 9, "title": "定时任务", "description": "查看crontab目录,了解定时任务:渠道结算、数据统计、支付超时处理等后台批处理", "nodeIds": [ "file:application/crontab" ] }, { "order": 10, "title": "公共工具", "description": "浏览common.php和common/library,了解项目复用的工具函数和类库", "nodeIds": [ "file:application/common.php", "file:application/common/library" ] } ], "layers": [ { "id": "layer:entry", "name": "入口层", "description": "应用入口和框架引导,包含index.php和ThinkPHP框架启动", "nodeIds": [ "file:public/index.php", "file:thinkphp", "file:public/constants.php" ] }, { "id": "layer:config", "name": "配置层", "description": "应用配置、环境变量、路由规则等配置文件", "nodeIds": [ "config:application/config.php", "config:.env_dev", "config:.env_pro", "file:application/route.php", "file:application/tags.php", "file:application/command.php", "file:application/extra" ] }, { "id": "layer:model", "name": "数据模型层", "description": "数据库表结构定义、ORM模型、数据关联关系", "nodeIds": [ "file:application/common/model/Game.php", "file:application/common/model/Members.php", "file:application/common/model/Pay.php", "file:application/common/model/Channel.php", "file:application/common/model/Admin.php" ] }, { "id": "layer:service", "name": "服务层", "description": "业务服务类,封装核心业务逻辑如支付、游戏、会员等", "nodeIds": [ "file:application/service/PayService.php", "file:application/service/GamePayService.php", "file:application/service/CommonService.php" ] }, { "id": "layer:controller", "name": "控制器层", "description": "HTTP请求处理,包含后台管理、API接口、官网、移动端等控制器", "nodeIds": [ "file:application/admin/controller/Admin.php", "file:application/api/controller/v1/Login.php", "file:application/api/controller/v1/Pay.php", "file:application/api/controller/v1/PayNotify.php", "file:application/api/controller/v1/Index.php", "file:application/common/controller/Base.php" ] }, { "id": "layer:business", "name": "业务模块层", "description": "按业务领域划分的模块,包含公会API、渠道SDK、官网、移动端等", "nodeIds": [ "file:application/guildapi/controller", "file:application/complex/controller", "file:application/home/controller", "file:application/mobile/controller" ] }, { "id": "layer:common", "name": "公共层", "description": "跨模块共享的工具函数、类库、业务逻辑、验证器", "nodeIds": [ "file:application/common.php", "file:application/admin/common.php", "file:application/api/common.php", "file:application/common/library", "file:application/common/logic", "file:application/common/validate" ] }, { "id": "layer:extension", "name": "扩展层", "description": "第三方SDK扩展,包含支付宝、抖音、联动支付等支付渠道SDK", "nodeIds": [ "file:extend/alipay", "file:extend/DouYinGameOpen", "file:extend/LdzfPay", "file:extend/Obs" ] }, { "id": "layer:task", "name": "任务层", "description": "定时任务和异步任务,包含渠道结算、数据统计、消息队列消费", "nodeIds": [ "file:application/crontab", "file:application/command/KafkaConsumer.php" ] }, { "id": "layer:frontend", "name": "前端层", "description": "前端资源和视图模板,包含静态文件、后台模板、官网页面", "nodeIds": [ "file:public/static", "file:application/admin/view" ] }, { "id": "layer:docs", "name": "文档层", "description": "项目文档和依赖配置", "nodeIds": [ "document:README.md", "config:composer.json" ] } ], "edges": [ { "source": "file:public/index.php", "target": "config:application/config.php", "type": "reads_from", "weight": 0.8, "direction": "forward" }, { "source": "file:public/index.php", "target": "file:application/route.php", "type": "reads_from", "weight": 0.7, "direction": "forward" }, { "source": "file:public/index.php", "target": "file:thinkphp", "type": "imports", "weight": 0.9, "direction": "forward" }, { "source": "file:application/admin/controller/Admin.php", "target": "file:application/common/controller/Base.php", "type": "inherits", "weight": 0.9, "direction": "forward" }, { "source": "file:application/admin/controller/Admin.php", "target": "file:application/common/model/Admin.php", "type": "calls", "weight": 0.7, "direction": "forward" }, { "source": "file:application/api/controller/v1/Pay.php", "target": "file:application/service/PayService.php", "type": "calls", "weight": 0.8, "direction": "forward" }, { "source": "file:application/api/controller/v1/Pay.php", "target": "file:application/service/GamePayService.php", "type": "calls", "weight": 0.8, "direction": "forward" }, { "source": "file:application/service/PayService.php", "target": "file:extend/alipay", "type": "imports", "weight": 0.8, "direction": "forward" }, { "source": "file:application/api/controller/v1/PayNotify.php", "target": "file:application/service/PayService.php", "type": "calls", "weight": 0.8, "direction": "forward" }, { "source": "file:application/api/controller/v1/PayNotify.php", "target": "file:application/service/GamePayService.php", "type": "calls", "weight": 0.8, "direction": "forward" }, { "source": "file:application/service/GamePayService.php", "target": "file:application/common/model/Pay.php", "type": "calls", "weight": 0.8, "direction": "forward" }, { "source": "file:application/service/GamePayService.php", "target": "file:application/common/model/Game.php", "type": "calls", "weight": 0.7, "direction": "forward" }, { "source": "file:application/service/GamePayService.php", "target": "file:application/common/model/Members.php", "type": "calls", "weight": 0.7, "direction": "forward" }, { "source": "file:application/api/controller/v1/Login.php", "target": "file:application/common/model/Members.php", "type": "calls", "weight": 0.8, "direction": "forward" }, { "source": "file:application/common/model/Game.php", "target": "file:application/common/model/Channel.php", "type": "related", "weight": 0.6, "direction": "forward" }, { "source": "file:application/common/model/Pay.php", "target": "file:application/common/model/Members.php", "type": "related", "weight": 0.7, "direction": "forward" }, { "source": "file:application/crontab", "target": "file:application/common/model/Channel.php", "type": "calls", "weight": 0.6, "direction": "forward" }, { "source": "file:application/crontab", "target": "file:application/common/model/Pay.php", "type": "calls", "weight": 0.6, "direction": "forward" }, { "source": "file:application/command/KafkaConsumer.php", "target": "file:application/extra", "type": "configures", "weight": 0.5, "direction": "forward" }, { "source": "file:application/complex/controller", "target": "file:extend/DouYinGameOpen", "type": "imports", "weight": 0.7, "direction": "forward" }, { "source": "file:application/home/controller", "target": "file:application/common/controller/Base.php", "type": "inherits", "weight": 0.8, "direction": "forward" }, { "source": "file:application/mobile/controller", "target": "file:application/common/controller/Base.php", "type": "inherits", "weight": 0.8, "direction": "forward" }, { "source": "config:.env_dev", "target": "config:application/config.php", "type": "configures", "weight": 0.9, "direction": "forward" }, { "source": "config:.env_pro", "target": "config:application/config.php", "type": "configures", "weight": 0.9, "direction": "forward" } ], "version": "1.0.0" }