withRouting( web: __DIR__.'/../routes/web.php', api: __DIR__.'/../routes/api.php', commands: __DIR__.'/../routes/console.php', health: '/up', then: function () { require base_path('routes/oauth.php'); }, ) ->withMiddleware(function (Middleware $middleware) { $middleware->statefulApi(); $middleware->alias([ 'admin' => EnsureAdmin::class, 'active' => EnsureActive::class, ]); $middleware->validateCsrfTokens(except: [ 'oauth/token', 'oauth/introspect', 'oauth/revoke', ]); }) ->withExceptions(function (Exceptions $exceptions) { $exceptions->render(function (ValidationException $e, Request $request) { if ($request->expectsJson() || $request->is('api/*')) { return response()->json([ 'code' => 'validation_error', 'message' => collect($e->errors())->flatten()->first() ?: $e->getMessage(), 'errors' => $e->errors(), ], 422); } }); $exceptions->render(function (AuthenticationException $e, Request $request) { if ($request->expectsJson() || $request->is('api/*')) { return response()->json(['message' => '请先登录', 'code' => 'unauthenticated'], 401); } }); })->create();