| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- <?php
- use Illuminate\Support\Facades\Route;
- use App\Module\OpenAPI\Controllers\AppController;
- use App\Module\OpenAPI\Controllers\WebhookController;
- /*
- |--------------------------------------------------------------------------
- | OpenAPI Routes
- |--------------------------------------------------------------------------
- |
- | 这里定义OpenAPI模块的API路由
- | 所有路由都需要通过认证中间件
- |
- */
- // OpenAPI认证路由组
- Route::prefix('openapi')->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');
- });
- });
- });
|