From cfba4af57c246d49267d16e46c52f8d9e22b0865 Mon Sep 17 00:00:00 2001 From: jsasg <735273025@qq.com> Date: Fri, 28 Mar 2025 16:57:23 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E4=BA=A7=E5=93=81?= =?UTF-8?q?=E5=88=86=E7=B1=BB=E7=94=A8=E4=BA=8E=E4=B8=8B=E6=8B=89=E6=A1=86?= =?UTF-8?q?=E5=9C=BA=E6=99=AF=E5=88=97=E8=A1=A8=E6=A0=91=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/controller/v1/ProductCategory.php | 8 +++++++- app/admin/model/v1/ProductCategoryModel.php | 12 ++++++++++-- app/admin/route/v1.php | 3 ++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/app/admin/controller/v1/ProductCategory.php b/app/admin/controller/v1/ProductCategory.php index 27b6006a..b9b5468d 100644 --- a/app/admin/controller/v1/ProductCategory.php +++ b/app/admin/controller/v1/ProductCategory.php @@ -17,6 +17,7 @@ class ProductCategory public function index() { $params = request()->param([ + 'is_show', 'keywords' => '', ]); @@ -30,8 +31,13 @@ class ProductCategory ]) ->language(request()->lang_id) ->withSearch(['name_nullable'], [ - 'name_nullable' => $params['keywords'] + 'name_nullable' => $params['keywords']??null ]) + ->where(function($query) use($params) { + if (!empty($params['is_show'])) { + $query->where('is_show', '=', $params['is_show']); + } + }) ->select(); if ($ret->isEmpty()) { return success('获取成功'); diff --git a/app/admin/model/v1/ProductCategoryModel.php b/app/admin/model/v1/ProductCategoryModel.php index 6b90c4bc..f993f1c0 100644 --- a/app/admin/model/v1/ProductCategoryModel.php +++ b/app/admin/model/v1/ProductCategoryModel.php @@ -29,9 +29,17 @@ class ProductCategoryModel extends ProductCategoryBaseModel $query->where('language_id', '=', $value); } - // 根据是否显示查询 - public function scopeIsShow($query, bool $value) + /** + * 根据是否显示查询 + * @param $query + * @param \Closure:bool|bool $value + */ + public function scopeIsShow($query, \Closure|bool $value) { + if (is_callable($value)) { + $query->where('is_show', '=', $value()); + return; + } $query->where('is_show', '=', (int)$value); } diff --git a/app/admin/route/v1.php b/app/admin/route/v1.php index 2364e0b5..f9fb146c 100644 --- a/app/admin/route/v1.php +++ b/app/admin/route/v1.php @@ -201,7 +201,7 @@ Route::group('v1', function () { Route::group('banner', function() { // 横幅(分类)列表 Route::get('list', 'Banner/list'); - + // 横幅(分类)分页 Route::get('index', 'Banner/index'); @@ -286,6 +286,7 @@ Route::group('v1', function () { }); // 产品分类 + Route::get('categorys', 'ProductCategory/index')->append(['is_show' => '1']); Route::group('category', function () { // tco分类树 Route::get('tco/tree', 'ProductTcoCategory/tree');