From 2f16e2c60846ad618c1405fbcb30bf13b25f3e2f Mon Sep 17 00:00:00 2001 From: kuaifan Date: Fri, 26 Sep 2025 12:13:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E5=8A=9F=E8=83=BD=E5=92=8C=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E6=96=87=E4=BB=B6=E6=89=93=E5=BC=80=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/UserFavorite.php | 11 +++ .../manage/components/FavoriteManagement.vue | 21 ++--- .../manage/components/RecentManagement.vue | 46 +++------- resources/assets/js/utils/file.js | 92 +++++++++++++++++++ 4 files changed, 123 insertions(+), 47 deletions(-) create mode 100644 resources/assets/js/utils/file.js diff --git a/app/Models/UserFavorite.php b/app/Models/UserFavorite.php index ff19943dd..de609caeb 100644 --- a/app/Models/UserFavorite.php +++ b/app/Models/UserFavorite.php @@ -253,12 +253,23 @@ class UserFavorite extends AbstractModel foreach ($favorites->items() as $favorite) { if ($favorite->favoritable_type === self::TYPE_FILE && isset($files[$favorite->favoritable_id])) { $file = $files[$favorite->favoritable_id]; + $fileData = File::handleImageUrl(array_merge( + $file->only(['id', 'ext']), + [ + 'name' => $file->name, + 'size' => $file->size, + 'pid' => $file->pid, + ] + )); $data['files'][] = [ 'id' => $file->id, 'name' => $file->name, 'ext' => $file->ext, 'size' => $file->size, 'pid' => $file->pid, + 'image_url' => $fileData['image_url'] ?? null, + 'image_width' => $fileData['image_width'] ?? null, + 'image_height' => $fileData['image_height'] ?? null, 'favorited_at' => Carbon::parse($favorite->created_at)->format('Y-m-d H:i:s'), 'remark' => $favorite->remark, ]; diff --git a/resources/assets/js/pages/manage/components/FavoriteManagement.vue b/resources/assets/js/pages/manage/components/FavoriteManagement.vue index f23bf7c2a..f7a94c077 100644 --- a/resources/assets/js/pages/manage/components/FavoriteManagement.vue +++ b/resources/assets/js/pages/manage/components/FavoriteManagement.vue @@ -59,6 +59,7 @@