diff --git a/app/Http/Controllers/Web/IndexController.php b/app/Http/Controllers/Web/IndexController.php new file mode 100644 index 0000000..a5a18db --- /dev/null +++ b/app/Http/Controllers/Web/IndexController.php @@ -0,0 +1,38 @@ +expectsJson()) { + return response()->view('index')->withHeaders($this->makeHeader()); + } else { + return response()->json([], 404); + } + } + + private function makeHeader(): array + { + $header = []; + $user = Auth::user(); + if ($user) { + // $header["User-Auth"] = sprintf("%d,%d", $user->id, $user->role->value); + $header["User-Auth"] = "yes"; + } else { + $header["User-Auth"] = 'none'; + } + return $header; + } +} diff --git a/app/Providers/RouteServiceProvider.php b/app/Providers/RouteServiceProvider.php index bc49109..e40d0fa 100644 --- a/app/Providers/RouteServiceProvider.php +++ b/app/Providers/RouteServiceProvider.php @@ -27,7 +27,7 @@ class RouteServiceProvider extends ServiceProvider $this->configureRateLimiting(); $this->routes(function () { - Route::middleware('api') + Route::middleware('web') ->prefix('api') ->group(base_path('routes/api.php')); @@ -44,5 +44,8 @@ class RouteServiceProvider extends ServiceProvider RateLimiter::for('api', function (Request $request) { return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip()); }); + RateLimiter::for('web', function (Request $request) { + return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip()); + }); } } diff --git a/app/Util/RouteHelper.php b/app/Util/RouteHelper.php new file mode 100644 index 0000000..39cd4cf --- /dev/null +++ b/app/Util/RouteHelper.php @@ -0,0 +1,41 @@ +name(self::routeName($class)); + } + + static public function post(string $url, string $class) + { + return Route::post($url, [$class, self::ENTRY])->name(self::routeName($class)); + } + + static public function server(string $url, string $class) + { + return Route::post($url, [$class, self::ENTRY])->name(self::routeName($class)); + } + + static public function routeName(string $class) + { + $ele = explode('\\', $class); + $controllerName = array_pop($ele); + $groupName = array_pop($ele); + $routeName = Str::replaceLast('Controller', '', $groupName . $controllerName); + return $routeName; + } + + static public function webRoute(string $route) + { + return Str::replaceFirst('/api', '', $route); + } +} diff --git a/routes/api.php b/routes/api.php index 889937e..a2a44f1 100644 --- a/routes/api.php +++ b/routes/api.php @@ -1,8 +1,5 @@ get('/user', function (Request $request) { - return $request->user(); -}); diff --git a/routes/web.php b/routes/web.php index d259f33..daee8e2 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,6 +1,6 @@ where('any', '.*');