| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159 |
- <?php
- namespace App\Module\OpenAPI\Services;
- use Illuminate\Support\Facades\Route;
- /**
- * 路由注册服务
- *
- * 使用注解方式注册OpenAPI模块的路由
- */
- class RouteRegistrationService
- {
- /**
- * 注册API路由
- *
- * @return void
- */
- public function registerApiRoutes(): void
- {
- // 用户相关API路由
- Route::get('/user/info', [\App\Module\OpenAPI\Controllers\ApiController::class, 'getUserInfo'])
- ->name('openapi.user.info');
-
- Route::get('/user/list', [\App\Module\OpenAPI\Controllers\ApiController::class, 'getUserList'])
- ->name('openapi.user.list');
- // 游戏相关API路由
- Route::get('/game/stats', [\App\Module\OpenAPI\Controllers\ApiController::class, 'getGameStats'])
- ->name('openapi.game.stats');
- // 资金相关API路由
- Route::get('/fund/balance', [\App\Module\OpenAPI\Controllers\ApiController::class, 'getFundBalance'])
- ->name('openapi.fund.balance');
- // 钻石充值/提取API路由
- Route::post('/diamond/recharge', [\App\Module\OpenAPI\Controllers\ApiController::class, 'diamondRecharge'])
- ->name('openapi.diamond.recharge');
- Route::post('/diamond/withdraw', [\App\Module\OpenAPI\Controllers\ApiController::class, 'diamondWithdraw'])
- ->name('openapi.diamond.withdraw');
- Route::get('/diamond/recharge-balance', [\App\Module\OpenAPI\Controllers\ApiController::class, 'getRechargeAccountBalance'])
- ->name('openapi.diamond.recharge_balance');
- Route::get('/diamond/withdraw-balance', [\App\Module\OpenAPI\Controllers\ApiController::class, 'getWithdrawAccountBalance'])
- ->name('openapi.diamond.withdraw_balance');
- // 物品相关API路由(待实现)
- Route::get('/item/list', function () {
- return response()->json([
- 'success' => false,
- 'message' => '物品API正在开发中,请使用Handler机制实现',
- ], 501);
- })->middleware('openapi.scope:ITEM_READ')->name('openapi.item.list');
- // 交易相关API路由(待实现)
- Route::get('/trade/history', function () {
- return response()->json([
- 'success' => false,
- 'message' => '交易API正在开发中,请使用Handler机制实现',
- ], 501);
- })->middleware('openapi.scope:TRADE_READ')->name('openapi.trade.history');
- }
- /**
- * 注册管理API路由
- *
- * @return void
- */
- public function registerManagementRoutes(): void
- {
- // 应用管理路由
- Route::prefix('app')->group(function () {
- Route::get('/info', [\App\Module\OpenAPI\Controllers\AppController::class, 'info'])
- ->name('openapi.app.info');
-
- Route::get('/scopes', [\App\Module\OpenAPI\Controllers\AppController::class, 'scopes'])
- ->name('openapi.app.scopes');
-
- Route::get('/stats', [\App\Module\OpenAPI\Controllers\AppController::class, 'stats'])
- ->name('openapi.app.stats');
-
- Route::get('/quota', [\App\Module\OpenAPI\Controllers\AppController::class, 'quota'])
- ->name('openapi.app.quota');
-
- Route::put('/update', [\App\Module\OpenAPI\Controllers\AppController::class, 'update'])
- ->name('openapi.app.update');
-
- Route::post('/regenerate-secret', [\App\Module\OpenAPI\Controllers\AppController::class, 'regenerateSecret'])
- ->name('openapi.app.regenerate_secret');
- });
- // Webhook管理路由
- Route::prefix('webhook')->group(function () {
- Route::get('/', [\App\Module\OpenAPI\Controllers\WebhookController::class, 'index'])
- ->name('openapi.webhook.index');
-
- Route::post('/', [\App\Module\OpenAPI\Controllers\WebhookController::class, 'store'])
- ->name('openapi.webhook.store');
-
- Route::get('/{id}', [\App\Module\OpenAPI\Controllers\WebhookController::class, 'show'])
- ->name('openapi.webhook.show');
-
- Route::put('/{id}', [\App\Module\OpenAPI\Controllers\WebhookController::class, 'update'])
- ->name('openapi.webhook.update');
-
- Route::delete('/{id}', [\App\Module\OpenAPI\Controllers\WebhookController::class, 'destroy'])
- ->name('openapi.webhook.destroy');
-
- Route::post('/{id}/test', [\App\Module\OpenAPI\Controllers\WebhookController::class, 'test'])
- ->name('openapi.webhook.test');
-
- Route::post('/{id}/regenerate-secret', [\App\Module\OpenAPI\Controllers\WebhookController::class, 'regenerateSecret'])
- ->name('openapi.webhook.regenerate_secret');
- });
- }
- /**
- * 注册认证相关路由
- *
- * @return void
- */
- public function registerAuthRoutes(): void
- {
- Route::prefix('auth')->group(function () {
- Route::post('/token', [\App\Module\OpenAPI\Controllers\AuthController::class, 'token'])
- ->name('openapi.auth.token');
-
- Route::post('/revoke', [\App\Module\OpenAPI\Controllers\AuthController::class, 'revoke'])
- ->name('openapi.auth.revoke');
-
- Route::post('/jwt', [\App\Module\OpenAPI\Controllers\AuthController::class, 'jwt'])
- ->name('openapi.auth.jwt');
-
- Route::post('/verify-jwt', [\App\Module\OpenAPI\Controllers\AuthController::class, 'verifyJwt'])
- ->name('openapi.auth.verify_jwt');
- });
- }
- /**
- * 注册所有路由
- *
- * @return void
- */
- public function registerAllRoutes(): void
- {
- // 注册认证路由(无需认证)
- Route::prefix('api/openapi')->middleware('api')->group(function () {
- $this->registerAuthRoutes();
- });
- // 注册需要认证的API路由
- Route::prefix('api/openapi')->middleware(['api', 'openapi'])->group(function () {
- $this->registerApiRoutes();
- $this->registerManagementRoutes();
- });
- }
- }
|