bianjunhui hace 1 semana
padre
commit
2adc06ba36

+ 2 - 2
packages/Longyi/ImageUpload/src/Http/Controllers/Admin/ImageUploadController.php

@@ -74,14 +74,14 @@ class ImageUploadController extends Controller
             ]);
             ]);
 
 
             $files = $request->file('images');
             $files = $request->file('images');
-            $directory = $request->input('directory');
+            $directory = 'uploads/'.$request->input('directory');
 
 
             $results = $this->imageUploadService->uploadMultiple($files, $directory);
             $results = $this->imageUploadService->uploadMultiple($files, $directory);
 
 
             // 解析 folder_id:如果传了 directory,按目录名查找文件夹
             // 解析 folder_id:如果传了 directory,按目录名查找文件夹
             $folderId = 0;
             $folderId = 0;
             if (! empty($directory)) {
             if (! empty($directory)) {
-                $folder = ImageFolder::where('name', $directory)->first();
+                $folder = ImageFolder::where('path', $directory)->first();
                 $folderId = $folder ? $folder->id : 0;
                 $folderId = $folder ? $folder->id : 0;
             }
             }
 
 

+ 13 - 15
packages/Longyi/ImageUpload/src/Resources/views/components/media-manager.blade.php

@@ -66,7 +66,7 @@
                             <div
                             <div
                                 v-for="folder in folders"
                                 v-for="folder in folders"
                                 :key="folder.id"
                                 :key="folder.id"
-                                class="flex items-center justify-between px-2 py-1.5 rounded cursor-pointer text-sm mb-0.5 group"
+                                class="flex items-center justify-between px-2 py-1.5 rounded cursor-pointer text-sm mb-0.5"
                                 :class="currentFolderId === folder.id ? 'bg-blue-100 dark:bg-blue-800 text-blue-700 dark:text-blue-200' : 'hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300'"
                                 :class="currentFolderId === folder.id ? 'bg-blue-100 dark:bg-blue-800 text-blue-700 dark:text-blue-200' : 'hover:bg-gray-100 dark:hover:bg-gray-700 text-gray-700 dark:text-gray-300'"
                                 @click="selectFolder(folder.id)"
                                 @click="selectFolder(folder.id)"
                             >
                             >
@@ -76,11 +76,11 @@
                                 </span>
                                 </span>
                                 <button
                                 <button
                                     type="button"
                                     type="button"
-                                    class="text-red-500 hover:text-red-700 opacity-0 group-hover:opacity-100 transition-opacity ml-1"
+                                    class="text-red-500 hover:text-red-700 ml-1 text-xs px-1 py-0.5 rounded hover:bg-red-50"
                                     @click.stop="confirmDeleteFolder(folder)"
                                     @click.stop="confirmDeleteFolder(folder)"
-                                    :title="'@lang('imageupload::app.admin.media-manager.delete')'"
+                                    title="@lang('imageupload::app.admin.media-manager.delete')"
                                 >
                                 >
-                                    <span class="icon-delete text-xs"></span>
+                                    🗑
                                 </button>
                                 </button>
                             </div>
                             </div>
 
 
@@ -148,17 +148,15 @@
                                         :alt="image.name"
                                         :alt="image.name"
                                         class="w-full h-full object-cover"
                                         class="w-full h-full object-cover"
                                     />
                                     />
-                                    <!-- Hover Overlay -->
-                                    <div class="absolute inset-0 bg-black bg-opacity-0 group-hover:bg-opacity-30 transition-all flex items-center justify-center">
-                                        <button
-                                            type="button"
-                                            class="text-white bg-red-500 hover:bg-red-600 rounded-full w-7 h-7 flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity"
-                                            @click.stop="confirmDeleteImage(image)"
-                                            :title="'@lang('imageupload::app.admin.media-manager.delete')'"
-                                        >
-                                            <span class="icon-delete text-xs"></span>
-                                        </button>
-                                    </div>
+                                    <!-- Delete Button -->
+                                    <button
+                                        type="button"
+                                        class="absolute top-1 right-1 bg-red-500 hover:bg-red-600 text-white rounded-full w-6 h-6 flex items-center justify-center text-xs"
+                                        @click.stop="confirmDeleteImage(image)"
+                                        title="@lang('imageupload::app.admin.media-manager.delete')"
+                                    >
+                                        ✕
+                                    </button>
                                     <!-- Selected Check -->
                                     <!-- Selected Check -->
                                     <div
                                     <div
                                         v-if="selectedImage && selectedImage.path === image.path"
                                         v-if="selectedImage && selectedImage.path === image.path"