server('HTTP_HOST') !== parse_url(admin_setting('app_url'))['host']) { abort(403); } } $renderParams = [ 'title' => admin_setting('app_name', 'Xboard'), 'theme' => admin_setting('frontend_theme', 'Xboard'), 'version' => config('app.version'), 'description' => admin_setting('app_description', 'Xboard is best'), 'logo' => admin_setting('logo') ]; $theme = admin_setting('frontend_theme', 'Xboard'); if (!admin_setting("theme_{$theme}")) { ThemeService::switchTheme($theme); } $renderParams['theme_config'] = (new ThemeService())->getConfig($theme); return view('theme::' . $theme . '.dashboard', $renderParams); }); //TODO:: 兼容 Route::get('/' . admin_setting('secure_path', admin_setting('frontend_admin_path', hash('crc32b', config('app.key')))), function () { return view('admin', [ 'title' => admin_setting('app_name', 'XBoard'), 'theme_sidebar' => admin_setting('frontend_theme_sidebar', 'light'), 'theme_header' => admin_setting('frontend_theme_header', 'dark'), 'theme_color' => admin_setting('frontend_theme_color', 'default'), 'background_url' => admin_setting('frontend_background_url'), 'version' => config('app.version'), 'logo' => admin_setting('logo'), 'secure_path' => admin_setting('secure_path', admin_setting('frontend_admin_path', hash('crc32b', config('app.key')))) ]); }); Route::get('/' . (admin_setting('subscribe_path', 's')) . '/{token}', [\App\Http\Controllers\V1\Client\ClientController::class, 'subscribe']) ->middleware('client') ->name('client.subscribe');