diff --git a/app/Http/Controllers/User/ImageController.php b/app/Http/Controllers/User/ImageController.php index c5caf77a..55042ccc 100644 --- a/app/Http/Controllers/User/ImageController.php +++ b/app/Http/Controllers/User/ImageController.php @@ -4,6 +4,7 @@ namespace App\Http\Controllers\User; use App\Enums\ImagePermission; use App\Http\Controllers\Controller; +use App\Http\Requests\ImageRenameRequest; use App\Models\Album; use App\Models\Image; use App\Models\User; @@ -66,6 +67,19 @@ class ImageController extends Controller return $this->success('success', compact('images')); } + public function rename(ImageRenameRequest $request): Response + { + /** @var User $user */ + $user = Auth::user(); + /** @var Image $image */ + if ($image = $user->images()->find($request->input('id'))) { + $image->alias_name = $request->input('name'); + $image->save(); + } + + return $this->success('重命名成功', $image->only('id', 'filename')); + } + public function movement(Request $request): Response { /** @var User $user */ diff --git a/app/Http/Requests/ImageRenameRequest.php b/app/Http/Requests/ImageRenameRequest.php new file mode 100644 index 00000000..6de5bce9 --- /dev/null +++ b/app/Http/Requests/ImageRenameRequest.php @@ -0,0 +1,52 @@ + 'required|numeric', + 'name' => 'required|max:50|string', + ]; + } + + public function messages() + { + return [ + 'id.required' => '请选择一张图片', + 'id.numeric' => '图片选择异常', + 'name.required' => '请输入名称', + 'name.max' => '名称长度不能超过 50 个字符', + 'name.string' => '名称格式不正确' + ]; + } + + protected function failedValidation(Validator $validator) + { + throw (new HttpResponseException($this->error($validator->errors()->first()))); + } +} diff --git a/resources/views/images.blade.php b/resources/views/images.blade.php index c7af4d16..3002a230 100644 --- a/resources/views/images.blade.php +++ b/resources/views/images.blade.php @@ -90,8 +90,8 @@
__name__
-__date__
+__name__
+__date__