diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php new file mode 100644 index 00000000..3affd0f4 --- /dev/null +++ b/app/Http/Controllers/Admin/UserController.php @@ -0,0 +1,24 @@ +query('status'); + $users = User::query()->when($status > -1, function (Builder $builder) use ($status) { + $builder->where('status', $status); + })->when($request->query('keywords'), function (Builder $builder, $keywords) { + $builder->whereRaw("concat(name, email) like ?",["%{$keywords}%"]); + })->with('group')->withSum('images', 'size')->latest()->paginate(); + $statuses = [-1 => '全部', 1 => '正常', 0 => '冻结']; + return view('admin.user.index', compact('users', 'statuses')); + } +} diff --git a/resources/views/admin/group/index.blade.php b/resources/views/admin/group/index.blade.php index 327c3b80..20e306fd 100644 --- a/resources/views/admin/group/index.blade.php +++ b/resources/views/admin/group/index.blade.php @@ -2,12 +2,12 @@
-
- 创建角色组 -
- - -
+
+
+ 创建角色组 + +
+
diff --git a/resources/views/admin/strategy/index.blade.php b/resources/views/admin/strategy/index.blade.php index 62186f84..9df76ab6 100644 --- a/resources/views/admin/strategy/index.blade.php +++ b/resources/views/admin/strategy/index.blade.php @@ -2,12 +2,12 @@
-
- 创建储存策略 -
- - -
+
+
+ 创建储存策略 + +
+
@foreach($strategies as $strategy) diff --git a/resources/views/admin/user/index.blade.php b/resources/views/admin/user/index.blade.php new file mode 100644 index 00000000..49798562 --- /dev/null +++ b/resources/views/admin/user/index.blade.php @@ -0,0 +1,77 @@ +@section('title', '用户管理') + + +
+
+
+ + +
+
+ + + @foreach($users as $user) + + {{ $user->id }} + {{ $user->name }} + {{ $user->email }} + + + {{ $user->group->name ?? '-' }} + + + {{ \App\Utils::formatSize($user->capacity * 1024) }} + {{ \App\Utils::formatSize(($user->capacity - $user->images_sum_size) * 1024) }} + {{ $user->image_num }} + {{ $user->album_num }} + {{ $user->status ? '正常' : '冻结' }} + + 编辑 + @if(Auth::user()->id != $user->id) + 删除 + @endif + + + @endforeach + + @if($users->isEmpty()) + + @else +
+ {{ $users->links() }} +
+ @endif +
+ + @push('scripts') + + @endpush + +
diff --git a/resources/views/layouts/sidebar.blade.php b/resources/views/layouts/sidebar.blade.php index ed942a47..c58e4de7 100644 --- a/resources/views/layouts/sidebar.blade.php +++ b/resources/views/layouts/sidebar.blade.php @@ -52,7 +52,7 @@ 角色组 - + 用户管理 diff --git a/routes/web.php b/routes/web.php index 07b6def9..0f0684b3 100644 --- a/routes/web.php +++ b/routes/web.php @@ -20,6 +20,7 @@ use App\Http\Controllers\User\ProfileController; use App\Http\Controllers\Admin\GroupController as AdminGroupController; use App\Http\Controllers\Admin\StrategyController as AdminStrategyController; +use App\Http\Controllers\Admin\UserController as AdminUserController; Route::get('/', fn () => view('welcome'))->name('/'); Route::post('upload', [Controller::class, 'upload']); @@ -44,6 +45,13 @@ Route::group(['middleware' => ['auth']], function () { }); Route::group(['prefix' => 'admin', 'middleware' => ['auth.admin']], function () { + Route::group(['prefix' => 'users'], function () { + Route::get('', [AdminUserController::class, 'index'])->name('admin.users'); + Route::get('{id}', [AdminUserController::class, 'edit'])->name('admin.user.edit'); + Route::put('{id}', [AdminUserController::class, 'update'])->name('admin.user.update'); + Route::delete('{id}', [AdminUserController::class, 'delete'])->name('admin.user.delete'); + }); + Route::group(['prefix' => 'groups'], function () { Route::get('', [AdminGroupController::class, 'index'])->name('admin.groups'); Route::get('create', [AdminGroupController::class, 'add'])->name('admin.group.add');