04a2034975
- storefront 全站改为极简黑白配色:直角、细线分隔、卡片 hover 浅底、深色模式(跟随系统+手动切换) - 抽出 storefront/partials/card 复用卡片 - 一并提交此前暂存的客户端注册 API、站点设置、后台页面与测试 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
54 lines
4.1 KiB
PHP
54 lines
4.1 KiB
PHP
<?php
|
|
|
|
use App\Http\Controllers\Web\StorefrontController;
|
|
use App\Http\Controllers\WebAdmin\AuthController;
|
|
use App\Http\Controllers\WebAdmin\DashboardController;
|
|
use App\Http\Controllers\WebAdmin\SettingsController;
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
Route::get('/', [StorefrontController::class, 'home'])->name('storefront.home');
|
|
Route::get('/plugins', [StorefrontController::class, 'packages'])->defaults('type', 'plugin')->name('storefront.plugins');
|
|
Route::get('/themes', [StorefrontController::class, 'packages'])->defaults('type', 'theme')->name('storefront.themes');
|
|
Route::get('/plugin/{slug}', [StorefrontController::class, 'showPlugin'])->name('storefront.plugin.show');
|
|
Route::get('/theme/{slug}', [StorefrontController::class, 'showTheme'])->name('storefront.theme.show');
|
|
Route::get('/packages/{type}/{slug}', function (string $type, string $slug) {
|
|
abort_unless(in_array($type, ['plugin', 'theme'], true), 404);
|
|
|
|
return redirect()->route(
|
|
$type === 'plugin' ? 'storefront.plugin.show' : 'storefront.theme.show',
|
|
['slug' => $slug],
|
|
301
|
|
);
|
|
})->name('storefront.show.legacy');
|
|
|
|
Route::get('/admin/login', [AuthController::class, 'showLogin'])->name('webadmin.login');
|
|
Route::post('/admin/login', [AuthController::class, 'login'])->name('webadmin.login.submit');
|
|
|
|
Route::middleware('store.webadmin')->group(function () {
|
|
Route::get('/admin', [DashboardController::class, 'home'])->name('webadmin.home');
|
|
Route::post('/admin/logout', [AuthController::class, 'logout'])->name('webadmin.logout');
|
|
Route::get('/admin/account', [AuthController::class, 'showAccount'])->name('webadmin.account');
|
|
Route::put('/admin/account/profile', [AuthController::class, 'updateProfile'])->name('webadmin.account.profile');
|
|
Route::put('/admin/account/password', [AuthController::class, 'updatePassword'])->name('webadmin.account.password');
|
|
Route::get('/admin/settings', [SettingsController::class, 'show'])->name('webadmin.settings');
|
|
Route::put('/admin/settings', [SettingsController::class, 'update'])->name('webadmin.settings.update');
|
|
Route::get('/admin/clients', [DashboardController::class, 'clients'])->name('webadmin.clients');
|
|
|
|
Route::get('/admin/packages', [DashboardController::class, 'packages'])->name('webadmin.packages');
|
|
Route::post('/admin/packages', [DashboardController::class, 'storePackage'])->name('webadmin.packages.store');
|
|
Route::put('/admin/packages/{type}/{slug}', [DashboardController::class, 'updatePackage'])->name('webadmin.packages.update');
|
|
Route::patch('/admin/packages/{type}/{slug}/status', [DashboardController::class, 'updatePackageStatus'])->name('webadmin.packages.status');
|
|
Route::delete('/admin/packages/{type}/{slug}', [DashboardController::class, 'destroyPackage'])->name('webadmin.packages.destroy');
|
|
Route::get('/admin/packages/{type}/{slug}', [DashboardController::class, 'showPackage'])->name('webadmin.packages.show');
|
|
Route::post('/admin/packages/{type}/{slug}/screenshots', [DashboardController::class, 'storeScreenshot'])->name('webadmin.packages.screenshots.store');
|
|
Route::delete('/admin/packages/{type}/{slug}/screenshots/{id}', [DashboardController::class, 'destroyScreenshot'])->name('webadmin.packages.screenshots.destroy');
|
|
Route::post('/admin/packages/{type}/{slug}/versions', [DashboardController::class, 'storeVersion'])->name('webadmin.packages.versions.store');
|
|
Route::post('/admin/packages/{type}/{slug}/publish', [DashboardController::class, 'publishVersion'])->name('webadmin.packages.publish');
|
|
Route::delete('/admin/packages/{type}/{slug}/versions/{id}', [DashboardController::class, 'destroyVersion'])->name('webadmin.packages.versions.destroy');
|
|
|
|
Route::get('/admin/categories', [DashboardController::class, 'categories'])->name('webadmin.categories');
|
|
Route::post('/admin/categories', [DashboardController::class, 'storeCategory'])->name('webadmin.categories.store');
|
|
Route::put('/admin/categories/{id}', [DashboardController::class, 'updateCategory'])->name('webadmin.categories.update');
|
|
Route::delete('/admin/categories/{id}', [DashboardController::class, 'destroyCategory'])->name('webadmin.categories.destroy');
|
|
});
|