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()});