diff --git a/app/Http/Controllers/User/ProfileController.php b/app/Http/Controllers/User/ProfileController.php deleted file mode 100644 index 7b8bee89..00000000 --- a/app/Http/Controllers/User/ProfileController.php +++ /dev/null @@ -1,41 +0,0 @@ -name = $request->validated('name'); - $user->configs = $user->configs->merge(collect($request->validated('configs'))->transform(function ($value) { - return (int)$value; - })); - if ($password = $request->validated('password')) { - $user->forceFill([ - 'password' => Hash::make($password), - 'remember_token' => Str::random(60), - ])->save(); - - event(new PasswordReset($user)); - } - $user->save(); - return $this->success('保存成功'); - } -} diff --git a/app/Http/Controllers/User/UserController.php b/app/Http/Controllers/User/UserController.php index 52dfd8c5..48caae08 100644 --- a/app/Http/Controllers/User/UserController.php +++ b/app/Http/Controllers/User/UserController.php @@ -4,9 +4,14 @@ namespace App\Http\Controllers\User; use App\Enums\ConfigKey; use App\Http\Controllers\Controller; +use App\Http\Requests\UserSettingRequest; use App\Models\User; use App\Utils; +use Illuminate\Auth\Events\PasswordReset; +use Illuminate\Http\Response; use Illuminate\Support\Facades\Auth; +use Illuminate\Support\Facades\Hash; +use Illuminate\Support\Str; use Illuminate\View\View; class UserController extends Controller @@ -25,4 +30,34 @@ class UserController extends Controller $strategies = $user->group ? $user->group->strategies()->get() : []; return view('user.dashboard', compact('strategies', 'configs', 'user')); } + + public function settings(): View + { + return view('user.settings'); + } + + public function gallery(): View + { + return view('user.gallery'); + } + + public function update(UserSettingRequest $request): Response + { + /** @var User $user */ + $user = Auth::user(); + $user->name = $request->validated('name'); + $user->configs = $user->configs->merge(collect($request->validated('configs'))->transform(function ($value) { + return (int)$value; + })); + if ($password = $request->validated('password')) { + $user->forceFill([ + 'password' => Hash::make($password), + 'remember_token' => Str::random(60), + ])->save(); + + event(new PasswordReset($user)); + } + $user->save(); + return $this->success('保存成功'); + } } diff --git a/resources/views/layouts/navigation.blade.php b/resources/views/layouts/navigation.blade.php index 3355c7dd..390c9d36 100644 --- a/resources/views/layouts/navigation.blade.php +++ b/resources/views/layouts/navigation.blade.php @@ -80,9 +80,7 @@
@csrf - + {{ __('Log Out') }} diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index c58e4de7..f9af3090 100644 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -33,7 +33,7 @@

公共

- + 画廊 diff --git a/resources/views/user/gallery.blade.php b/resources/views/user/gallery.blade.php new file mode 100644 index 00000000..960a0dd2 --- /dev/null +++ b/resources/views/user/gallery.blade.php @@ -0,0 +1,15 @@ +@section('title', '画廊') + +@push('styles') + +@endpush + + + 1 + + @push('scripts') + + @endpush + diff --git a/routes/web.php b/routes/web.php index 0f0684b3..62a39c1f 100644 --- a/routes/web.php +++ b/routes/web.php @@ -16,7 +16,6 @@ use App\Http\Controllers\Controller; use App\Http\Controllers\User\UserController; use App\Http\Controllers\User\ImageController; use App\Http\Controllers\User\AlbumController; -use App\Http\Controllers\User\ProfileController; use App\Http\Controllers\Admin\GroupController as AdminGroupController; use App\Http\Controllers\Admin\StrategyController as AdminStrategyController; @@ -26,6 +25,10 @@ Route::get('/', fn () => view('welcome'))->name('/'); Route::post('upload', [Controller::class, 'upload']); Route::group(['middleware' => ['auth']], function () { Route::get('dashboard', [UserController::class, 'dashboard'])->name('dashboard'); + Route::get('gallery', [UserController::class, 'gallery'])->name('gallery'); + Route::get('settings', [UserController::class, 'settings'])->name('settings'); + Route::put('settings', [UserController::class, 'update'])->name('settings.update'); + Route::get('upload', fn () => view('user.upload'))->name('upload'); Route::get('images', [ImageController::class, 'index'])->name('images'); Route::group(['prefix' => 'user'], function () { @@ -40,8 +43,6 @@ Route::group(['middleware' => ['auth']], function () { Route::put('albums/{id}', [AlbumController::class, 'update'])->name('user.album.update'); Route::delete('albums/{id}', [AlbumController::class, 'delete'])->name('user.album.delete'); }); - Route::get('settings', [ProfileController::class, 'settings'])->name('settings'); - Route::put('settings', [ProfileController::class, 'update'])->name('settings.update'); }); Route::group(['prefix' => 'admin', 'middleware' => ['auth.admin']], function () {