middleware(['api'])->group(function () { // 认证相关路由(不需要认证) Route::prefix('auth')->group(function () { Route::post('token', [\App\Module\OpenAPI\Controllers\AuthController::class, 'token']) ->name('openapi.auth.token'); Route::post('refresh', [\App\Module\OpenAPI\Controllers\AuthController::class, 'refresh']) ->name('openapi.auth.refresh'); Route::post('verify', [\App\Module\OpenAPI\Controllers\AuthController::class, 'verify']) ->name('openapi.auth.verify'); }); // 需要认证的路由组 Route::middleware(['openapi.auth'])->group(function () { // 应用信息管理 Route::prefix('app')->group(function () { Route::get('info', [AppController::class, 'info']) ->middleware('openapi.scope:APP_READ') ->name('openapi.app.info'); Route::get('scopes', [AppController::class, 'scopes']) ->middleware('openapi.scope:APP_READ') ->name('openapi.app.scopes'); Route::get('stats', [AppController::class, 'stats']) ->middleware('openapi.scope:APP_READ') ->name('openapi.app.stats'); Route::get('quota', [AppController::class, 'quota']) ->middleware('openapi.scope:APP_READ') ->name('openapi.app.quota'); Route::put('update', [AppController::class, 'update']) ->middleware('openapi.scope:APP_WRITE') ->name('openapi.app.update'); Route::post('regenerate-secret', [AppController::class, 'regenerateSecret']) ->middleware('openapi.scope:APP_WRITE') ->name('openapi.app.regenerate_secret'); }); // Webhook管理 Route::prefix('webhook')->group(function () { Route::get('/', [WebhookController::class, 'index']) ->middleware('openapi.scope:WEBHOOK_READ') ->name('openapi.webhook.index'); Route::post('/', [WebhookController::class, 'store']) ->middleware('openapi.scope:WEBHOOK_WRITE') ->name('openapi.webhook.store'); Route::get('{id}', [WebhookController::class, 'show']) ->middleware('openapi.scope:WEBHOOK_READ') ->name('openapi.webhook.show'); Route::put('{id}', [WebhookController::class, 'update']) ->middleware('openapi.scope:WEBHOOK_WRITE') ->name('openapi.webhook.update'); Route::delete('{id}', [WebhookController::class, 'destroy']) ->middleware('openapi.scope:WEBHOOK_WRITE') ->name('openapi.webhook.destroy'); Route::post('{id}/test', [WebhookController::class, 'test']) ->middleware('openapi.scope:WEBHOOK_WRITE') ->name('openapi.webhook.test'); Route::post('{id}/regenerate-secret', [WebhookController::class, 'regenerateSecret']) ->middleware('openapi.scope:WEBHOOK_WRITE') ->name('openapi.webhook.regenerate_secret'); }); // 用户数据API(示例) Route::prefix('user')->middleware('openapi.scope:USER_READ')->group(function () { Route::get('profile', function () { return response()->json([ 'success' => true, 'message' => '获取用户信息成功', 'data' => [ 'id' => 1, 'name' => '示例用户', 'email' => 'user@example.com', ], ]); })->name('openapi.user.profile'); Route::get('list', function () { return response()->json([ 'success' => true, 'message' => '获取用户列表成功', 'data' => [ [ 'id' => 1, 'name' => '用户1', 'email' => 'user1@example.com', ], [ 'id' => 2, 'name' => '用户2', 'email' => 'user2@example.com', ], ], ]); })->name('openapi.user.list'); }); // 游戏数据API(示例) Route::prefix('game')->middleware('openapi.scope:GAME_READ')->group(function () { Route::get('stats', function () { return response()->json([ 'success' => true, 'message' => '获取游戏统计成功', 'data' => [ 'total_players' => 1000, 'online_players' => 150, 'total_games' => 5000, ], ]); })->name('openapi.game.stats'); }); // 物品数据API(示例) Route::prefix('item')->middleware('openapi.scope:ITEM_READ')->group(function () { Route::get('list', function () { return response()->json([ 'success' => true, 'message' => '获取物品列表成功', 'data' => [ [ 'id' => 1, 'name' => '物品1', 'type' => 'weapon', 'rarity' => 'common', ], [ 'id' => 2, 'name' => '物品2', 'type' => 'armor', 'rarity' => 'rare', ], ], ]); })->name('openapi.item.list'); }); // 资金数据API(示例) Route::prefix('fund')->middleware('openapi.scope:FUND_READ')->group(function () { Route::get('balance', function () { return response()->json([ 'success' => true, 'message' => '获取资金余额成功', 'data' => [ 'user_id' => 1, 'balances' => [ 'gold' => '1000.50', 'diamond' => '50.25', ], ], ]); })->name('openapi.fund.balance'); }); // 交易数据API(示例) Route::prefix('trade')->middleware('openapi.scope:TRADE_READ')->group(function () { Route::get('history', function () { return response()->json([ 'success' => true, 'message' => '获取交易历史成功', 'data' => [ [ 'id' => 1, 'type' => 'buy', 'amount' => '100.00', 'currency' => 'gold', 'created_at' => now(), ], [ 'id' => 2, 'type' => 'sell', 'amount' => '50.00', 'currency' => 'diamond', 'created_at' => now()->subHour(), ], ], ]); })->name('openapi.trade.history'); }); // 系统管理API(示例) Route::prefix('system')->middleware('openapi.scope:ADMIN_READ')->group(function () { Route::get('status', function () { return response()->json([ 'success' => true, 'message' => '获取系统状态成功', 'data' => [ 'status' => 'healthy', 'version' => '1.0.0', 'uptime' => '24 hours', 'memory_usage' => '45%', 'cpu_usage' => '12%', ], ]); })->name('openapi.system.status'); }); }); });