v2board/routes/web.php
2022-12-15 11:28:29 +08:00

54 lines
2.2 KiB
PHP
Executable File

<?php
use App\Services\ThemeService;
use Illuminate\Http\Request;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function (Request $request) {
if (config('v2board.app_url') && config('v2board.safe_mode_enable', 0)) {
if ($request->server('HTTP_HOST') !== parse_url(config('v2board.app_url'))['host']) {
abort(403);
}
}
$renderParams = [
'title' => config('v2board.app_name', 'V2Board'),
'theme' => config('v2board.frontend_theme', 'v2board'),
'theme_path' => '/theme/' . config('v2board.frontend_theme', 'v2board') . '/assets/',
'version' => config('app.version'),
'description' => config('v2board.app_description', 'V2Board is best'),
'logo' => config('v2board.logo')
];
if (!config("theme.{$renderParams['theme']}")) {
$themeService = new ThemeService($renderParams['theme']);
$themeService->init();
}
$renderParams['theme_config'] = config('theme.' . config('v2board.frontend_theme', 'v2board'));
return view('theme::' . config('v2board.frontend_theme', 'v2board') . '.dashboard', $renderParams);
});
//TODO:: 兼容
Route::get('/' . config('v2board.secure_path', config('v2board.frontend_admin_path', hash('crc32b', config('app.key')))), function () {
return view('admin', [
'title' => config('v2board.app_name', 'V2Board'),
'theme_sidebar' => config('v2board.frontend_theme_sidebar', 'light'),
'theme_header' => config('v2board.frontend_theme_header', 'dark'),
'theme_color' => config('v2board.frontend_theme_color', 'default'),
'background_url' => config('v2board.frontend_background_url'),
'version' => config('app.version'),
'logo' => config('v2board.logo'),
'secure_path' => config('v2board.secure_path', config('v2board.frontend_admin_path', hash('crc32b', config('app.key'))))
]);
});