getRequestUri(); if (! Str::startsWith($uri, '/admin')) { return; } // $this->loadRoutesFrom(__DIR__ . '/../Routes/shop.php'); $this->loadRoutesFrom(__DIR__ . '/../Routes/admin.php'); $this->mergeConfigFrom(__DIR__ . '/../../Config/beike.php', 'beike'); $this->loadViewsFrom(__DIR__ . '/../Resources/views', 'admin'); $this->loadViewComponentsAs('admin', [ 'header' => Header::class, 'sidebar' => Sidebar::class, 'filter' => Filter::class, 'form-input-locale' => InputLocale::class, 'form-switch' => SwitchRadio::class, 'form-input' => Input::class, ]); $this->loadSettings(); $this->registerGuard(); if ($this->app->runningInConsole()) { $this->commands([ MakeRootAdminUser::class, ]); } } protected function loadSettings() { $settings = Setting::all(['name', 'value', 'json']) ->keyBy('name') ->transform(function ($setting) { if ($setting->json) { return \json_decode($setting->value, true); } return $setting->value; }) ->toArray(); config(['global' => $settings]); } protected function registerGuard() { Config::set('auth.guards.'.AdminUser::AUTH_GUARD, [ 'driver' => 'session', 'provider' => 'admin_users', ]); Config::set('auth.providers.admin_users', [ 'driver' => 'eloquent', 'model' => AdminUser::class, ]); } }