registerUserHandlers(); // 注册游戏相关Handler $this->registerGameHandlers(); // 注册资金相关Handler $this->registerFundHandlers(); // 注册物品相关Handler(待实现) $this->registerItemHandlers(); // 注册交易相关Handler(待实现) $this->registerTradeHandlers(); } /** * 注册用户相关Handler * * @return void */ protected function registerUserHandlers(): void { $app = app(); $app->singleton(\App\Module\OpenAPI\Handlers\User\UserInfoHandler::class, function ($app) { return new \App\Module\OpenAPI\Handlers\User\UserInfoHandler( $app->make(\App\Module\OpenAPI\Services\ScopeService::class) ); }); $app->singleton(\App\Module\OpenAPI\Handlers\User\UserListHandler::class, function ($app) { return new \App\Module\OpenAPI\Handlers\User\UserListHandler( $app->make(\App\Module\OpenAPI\Services\ScopeService::class) ); }); } /** * 注册游戏相关Handler * * @return void */ protected function registerGameHandlers(): void { $app = app(); $app->singleton(\App\Module\OpenAPI\Handlers\Game\GameStatsHandler::class, function ($app) { return new \App\Module\OpenAPI\Handlers\Game\GameStatsHandler( $app->make(\App\Module\OpenAPI\Services\ScopeService::class) ); }); } /** * 注册资金相关Handler * * @return void */ protected function registerFundHandlers(): void { $app = app(); $app->singleton(\App\Module\OpenAPI\Handlers\Fund\FundBalanceHandler::class, function ($app) { return new \App\Module\OpenAPI\Handlers\Fund\FundBalanceHandler( $app->make(\App\Module\OpenAPI\Services\ScopeService::class) ); }); $app->singleton(\App\Module\OpenAPI\Handlers\Fund\DiamondRechargeHandler::class, function ($app) { return new \App\Module\OpenAPI\Handlers\Fund\DiamondRechargeHandler( $app->make(\App\Module\OpenAPI\Services\ScopeService::class) ); }); $app->singleton(\App\Module\OpenAPI\Handlers\Fund\DiamondWithdrawHandler::class, function ($app) { return new \App\Module\OpenAPI\Handlers\Fund\DiamondWithdrawHandler( $app->make(\App\Module\OpenAPI\Services\ScopeService::class) ); }); } /** * 注册物品相关Handler(待实现) * * @return void */ protected function registerItemHandlers(): void { // TODO: 实现物品相关Handler // app()->singleton(\App\Module\OpenAPI\Handlers\Item\ItemListHandler::class, ...); } /** * 注册交易相关Handler(待实现) * * @return void */ protected function registerTradeHandlers(): void { // TODO: 实现交易相关Handler // app()->singleton(\App\Module\OpenAPI\Handlers\Trade\TradeHistoryHandler::class, ...); } /** * 获取所有已注册的Handler列表 * * @return array */ public function getRegisteredHandlers(): array { return [ // 用户相关Handler 'user' => [ 'info' => \App\Module\OpenAPI\Handlers\User\UserInfoHandler::class, 'list' => \App\Module\OpenAPI\Handlers\User\UserListHandler::class, ], // 游戏相关Handler 'game' => [ 'stats' => \App\Module\OpenAPI\Handlers\Game\GameStatsHandler::class, ], // 资金相关Handler 'fund' => [ 'balance' => \App\Module\OpenAPI\Handlers\Fund\FundBalanceHandler::class, 'diamond_recharge' => \App\Module\OpenAPI\Handlers\Fund\DiamondRechargeHandler::class, 'diamond_withdraw' => \App\Module\OpenAPI\Handlers\Fund\DiamondWithdrawHandler::class, ], // 物品相关Handler(待实现) 'item' => [ // 'list' => \App\Module\OpenAPI\Handlers\Item\ItemListHandler::class, ], // 交易相关Handler(待实现) 'trade' => [ // 'history' => \App\Module\OpenAPI\Handlers\Trade\TradeHistoryHandler::class, ], ]; } /** * 检查Handler是否已注册 * * @param string $handlerClass * @return bool */ public function isHandlerRegistered(string $handlerClass): bool { $handlers = $this->getRegisteredHandlers(); foreach ($handlers as $categoryHandlers) { if (in_array($handlerClass, $categoryHandlers)) { return true; } } return false; } }