From 2a2bca8c272895c9daa4682c1188525878564448 Mon Sep 17 00:00:00 2001 From: wanghongjun <1445693971@qq.com> Date: Thu, 12 Mar 2026 14:47:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A5=BC=E5=B1=82=E7=AE=A1=E7=90=86=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Admin/UploadController.php | 12 ++++++++---- app/Http/Middleware/AdminAuthMiddleware.php | 6 +++++- app/Models/AdminFloor.php | 6 ++++++ app/Models/AdminFloorRegion.php | 5 +++-- app/Services/AdminFloorService.php | 12 ++++++++---- 5 files changed, 30 insertions(+), 11 deletions(-) diff --git a/app/Http/Controllers/Admin/UploadController.php b/app/Http/Controllers/Admin/UploadController.php index 475ae54..81e008c 100644 --- a/app/Http/Controllers/Admin/UploadController.php +++ b/app/Http/Controllers/Admin/UploadController.php @@ -41,9 +41,9 @@ class UploadController extends Controller 'image' => 'required|image|max:10240', // 10MB = 10240KB ]; $messages = [ - 'image.required' => __('upload.i_empty'), - 'image.image' => __('upload.i_image'), - 'image.max' => __('upload.i_max'), + 'image.required' => __('validation.upload.i_empty'), + 'image.image' => __('validation.upload.i_image'), + 'image.max' => __('validation.upload.i_max'), ]; $validator = Validator::make($request->all(), $rules, $messages); if ($validator->fails()) { @@ -52,7 +52,11 @@ class UploadController extends Controller $file = $request->file('image'); $filename = time() . '_' . md5($file->getClientOriginalName()) . '.' . $file->getClientOriginalExtension(); - $path = $file->storeAs('images', $filename, 'public'); + $path = $file->storeAs( + 'images/floor/' . date("Ymd"), + $filename, + 'public' + ); return $this->responseService->success( ['url' => Storage::url($path)] ); diff --git a/app/Http/Middleware/AdminAuthMiddleware.php b/app/Http/Middleware/AdminAuthMiddleware.php index 52fc905..4d7e905 100644 --- a/app/Http/Middleware/AdminAuthMiddleware.php +++ b/app/Http/Middleware/AdminAuthMiddleware.php @@ -65,10 +65,14 @@ class AdminAuthMiddleware $contentType = $request->header('Content-Type'); if ($request->isMethod('POST') && (!$contentType + || !str_contains( + $contentType, + 'form/data' || !str_contains( $contentType, 'application/json' - )) + ) + )) ) { return $this->responseService->error( __('middleware.auth.use_json'), diff --git a/app/Models/AdminFloor.php b/app/Models/AdminFloor.php index 1c4e122..944c699 100644 --- a/app/Models/AdminFloor.php +++ b/app/Models/AdminFloor.php @@ -12,6 +12,12 @@ class AdminFloor extends Model protected $table = 'admin_floor'; + protected $fillable + = [ + 'name', + 'image_url' + ]; + protected $hidden = [ 'updated_at', 'created_at', diff --git a/app/Models/AdminFloorRegion.php b/app/Models/AdminFloorRegion.php index 8e73020..ebd5cdf 100644 --- a/app/Models/AdminFloorRegion.php +++ b/app/Models/AdminFloorRegion.php @@ -4,10 +4,11 @@ namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; +use Illuminate\Database\Eloquent\SoftDeletes; class AdminFloorRegion extends Model { - use HasFactory; + use HasFactory, SoftDeletes; protected $table = 'admin_floor_region'; @@ -24,7 +25,7 @@ class AdminFloorRegion extends Model */ public static function getFloorRegion(int $floor_id): array { - $columns = ['id', 'name']; + $columns = ['name']; return self::query()->where('floor_id', $floor_id)->select($columns) ->get()->toArray(); } diff --git a/app/Services/AdminFloorService.php b/app/Services/AdminFloorService.php index 0b4f520..30315f7 100644 --- a/app/Services/AdminFloorService.php +++ b/app/Services/AdminFloorService.php @@ -36,7 +36,7 @@ class AdminFloorService { try { DB::beginTransaction(); - $region_data = $data['region_data']; + $region_data = $data['region_data'] ?? []; if (AdminFloor::query()->where('name', $data['name'])->exists()) { throw new Exception(__('service.admin_floor.name_exists')); @@ -50,7 +50,9 @@ class AdminFloorService $this->logService->logCreated($model, '创建楼层'); - $this->addAdminFloorRegion($model->id, $region_data); + if ($region_data) { + $this->addAdminFloorRegion($model->id, $region_data); + } DB::commit(); return $model; @@ -95,7 +97,7 @@ class AdminFloorService { try { DB::beginTransaction(); - $region_data = $data['region_data']; + $region_data = $data['region_data'] ?? []; // 验证 $existsWhere = [ @@ -122,7 +124,9 @@ class AdminFloorService $nameArr = array_column($region_data, 'name'); if (AdminFloorRegion::existsRoleMenu($id, $nameArr)) { $this->delAdminFloorRegion($id); - $this->addAdminFloorRegion($id, $region_data); + if ($region_data) { + $this->addAdminFloorRegion($id, $region_data); + } } DB::commit();