From 839b1b59276db26faf1845c366ce380ef82dba81 Mon Sep 17 00:00:00 2001 From: Wisp X Date: Thu, 13 Jan 2022 08:40:56 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=9D=83=E9=99=90=E7=AD=9B?= =?UTF-8?q?=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/User/ImageController.php | 10 ++++++++++ resources/views/images.blade.php | 14 +++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/User/ImageController.php b/app/Http/Controllers/User/ImageController.php index 9c78c000..c5caf77a 100644 --- a/app/Http/Controllers/User/ImageController.php +++ b/app/Http/Controllers/User/ImageController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\User; +use App\Enums\ImagePermission; use App\Http\Controllers\Controller; use App\Models\Album; use App\Models\Image; @@ -39,6 +40,15 @@ class ImageController extends Controller default: $builder->latest(); } + })->when($request->query('visibility') ?: 'all', function (Builder $builder, $visibility) { + switch ($visibility) { + case 'public': + $builder->where('permission', ImagePermission::Public); + break; + case 'private': + $builder->where('permission', ImagePermission::Private); + break; + } })->when($request->query('keyword'), function (Builder $builder, $keyword) { $builder->whereRaw("concat(IFNULL(origin_name,''),IFNULL(alias_name,'')) like ?", ["%{$keyword}%"]); })->when((int) $request->query('album_id'), function (Builder $builder, $albumId) { diff --git a/resources/views/images.blade.php b/resources/views/images.blade.php index 34a49670..95731352 100644 --- a/resources/views/images.blade.php +++ b/resources/views/images.blade.php @@ -55,9 +55,12 @@ - 全部 - 公开 - 私有 + 全部 + + 公开 + + 私有 + @@ -377,6 +380,11 @@ $('#order span').text({newest: '最新', earliest: '最早', utmost: '最大', least: '最小'}[sort]); }; + const setVisibility = function (visibility) { + resetImages({page: 1, visibility: visibility}) + $('#visibility span').text({public: '公开', private: '私有', all: '全部'}[visibility]); + }; + $('#search').keydown(function (e) { if (e.keyCode === 13) { resetImages({page: 1, keyword: $(this).val()});