From 218d5f0bbebe5fc8706dc525f9d5d86ec8b6b428 Mon Sep 17 00:00:00 2001 From: jsasg <735273025@qq.com> Date: Sat, 15 Mar 2025 10:03:06 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BF=AE=E6=94=B9=E5=AF=BC?= =?UTF-8?q?=E8=88=AA=E9=A1=B9=E9=93=BE=E6=8E=A5=E7=B1=BB=E5=9E=8B=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/controller/v1/BannerItem.php | 2 +- app/admin/controller/v1/NavigationItem.php | 16 ++------- app/admin/route/v1.php | 3 -- .../validate/v1/NavigationItemValidate.php | 11 +++--- .../validate/v1/SysBannerItemValidate.php | 5 +-- .../model/SysNavigationItemBaseModel.php | 2 +- ...41230093811_create_sys_navigation_item.php | 2 +- .../20241231020620_create_sys_banner_item.php | 2 +- ...0250301092043_sys_navigation_link_type.php | 35 ------------------- 9 files changed, 16 insertions(+), 62 deletions(-) delete mode 100644 database/migrations/20250301092043_sys_navigation_link_type.php diff --git a/app/admin/controller/v1/BannerItem.php b/app/admin/controller/v1/BannerItem.php index b8cbaf5f..ed4dfa76 100644 --- a/app/admin/controller/v1/BannerItem.php +++ b/app/admin/controller/v1/BannerItem.php @@ -79,7 +79,7 @@ class BannerItem 'type', 'image', 'video', - 'link_to', + 'link_to' => 'custom', 'link', 'sort', 'status' diff --git a/app/admin/controller/v1/NavigationItem.php b/app/admin/controller/v1/NavigationItem.php index 6396bad6..2d1fa823 100644 --- a/app/admin/controller/v1/NavigationItem.php +++ b/app/admin/controller/v1/NavigationItem.php @@ -12,16 +12,6 @@ use app\admin\validate\v1\NavigationItemValidate; */ class NavigationItem { - // 导航链接类型 - public function linkType() - { - $types = SysNavigationLinkTypeModel::withoutField(['sort']) - ->order(['sort' => 'asc', 'id' => 'asc']) - ->select(); - - return success('获取成功', $types); - } - // 导航列表树 public function index() { @@ -70,7 +60,7 @@ class NavigationItem 'sort', 'status', 'blank', - 'link_type', + 'link_to', 'link' ]) ->bypk($id) @@ -90,7 +80,7 @@ class NavigationItem 'nav_id', 'name', 'icon', - 'link_type', + 'link_to' => 'custom', 'link', 'sort', 'blank' => 0, @@ -118,7 +108,7 @@ class NavigationItem 'nav_id', 'name', 'icon', - 'link_type', + 'link_to', 'link', 'sort', 'blank' => 0, diff --git a/app/admin/route/v1.php b/app/admin/route/v1.php index 16e78cdb..6fd9345f 100644 --- a/app/admin/route/v1.php +++ b/app/admin/route/v1.php @@ -490,9 +490,6 @@ Route::group('v1', function () { Route::delete('delete/:id', 'Navigation/delete'); Route::group('items', function() { - // 导航数据类型 - Route::get('link/type', 'NavigationItem/linkType'); - // 导航分页 Route::get('index', 'NavigationItem/index'); diff --git a/app/admin/validate/v1/NavigationItemValidate.php b/app/admin/validate/v1/NavigationItemValidate.php index cd1eb8a6..94deb29b 100644 --- a/app/admin/validate/v1/NavigationItemValidate.php +++ b/app/admin/validate/v1/NavigationItemValidate.php @@ -21,7 +21,7 @@ class NavigationItemValidate extends Validate 'pid' => 'integer|different:id|checkPidNotBeChildren', 'name' => 'require|max:64', 'icon' => 'max:64', - 'link_type' => 'require|integer', + 'link_to' => 'require|max:64|in:article,article_category,product,product_category,custom', 'link' => 'max:255', 'sort' => 'integer', 'blank' => 'in:0,1', @@ -45,8 +45,9 @@ class NavigationItemValidate extends Validate 'name.require' => '导航名称不能为空', 'name.max' => '导航名称最多不能超过64个字符', 'icon.max' => '图标最多不能超过64个字符', - 'link_type.require' => '链接类型不能为空', - 'link_type.integer' => '链接类型必须为整数', + 'link_to.require' => '链接类型不能为空', + 'link_to.max' => '链接类型最多不能超过64个字符', + 'link_to.in' => '链接类型必须是article,goods_category,goods,custom中之一', 'link.max' => '链接最多不能超过255个字符', 'sort.integer' => '排序必须为整数', 'blank.in' => '是否新窗口打开只能是0或1', @@ -83,12 +84,12 @@ class NavigationItemValidate extends Validate // 新增场景 public function sceneAdd() { - return $this->only(['nav_id', 'pid', 'name', 'icon', 'link_type', 'link', 'sort', 'blank', 'status'])->remove('pid', 'different|checkPidNotBeChildren'); + return $this->only(['nav_id', 'pid', 'name', 'icon', 'link_to', 'link', 'sort', 'blank', 'status'])->remove('pid', 'different|checkPidNotBeChildren'); } // 更新场景 public function sceneEdit() { - return $this->only(['id', 'nav_id', 'pid', 'name', 'icon', 'link_type', 'link', 'sort', 'blank', 'status']); + return $this->only(['id', 'nav_id', 'pid', 'name', 'icon', 'link_to', 'link', 'sort', 'blank', 'status']); } } diff --git a/app/admin/validate/v1/SysBannerItemValidate.php b/app/admin/validate/v1/SysBannerItemValidate.php index b7018da2..006aef60 100644 --- a/app/admin/validate/v1/SysBannerItemValidate.php +++ b/app/admin/validate/v1/SysBannerItemValidate.php @@ -23,7 +23,7 @@ class SysBannerItemValidate extends Validate 'type' => 'in:image,video', 'image' => 'max:255', 'video' => 'max:255', - 'link_to' => 'max:64|in:article,goods_category,goods,custom', + 'link_to' => 'require|max:64|in:article,article_category,product,product_category,custom', 'link' => 'max:255', 'sort' => 'integer', 'status' => 'in:-1,1' @@ -48,8 +48,9 @@ class SysBannerItemValidate extends Validate 'type.in' => '显示类型必须是image或video', 'image.max' => '图片地址最多不能超过255个字符', 'video.max' => '视频地址最多不能超过255个字符', + 'link_to.require' => '连接类型不能为空', 'link_to.max' => '连接类型最多不能超过64个字符', - 'link_to.in' => '连接类型必须是article,goods_category,goods,custom中之一', + 'link_to.in' => '连接类型必须是article,article_category,product,product_category,custom中之一', 'link.max' => '连接最多不能超过255个字符', 'sort.integer' => '排序值必须是整数', 'status.in' => '状态必须是-1或1' diff --git a/app/common/model/SysNavigationItemBaseModel.php b/app/common/model/SysNavigationItemBaseModel.php index 44b4ca62..db3e7597 100644 --- a/app/common/model/SysNavigationItemBaseModel.php +++ b/app/common/model/SysNavigationItemBaseModel.php @@ -22,7 +22,7 @@ class SysNavigationItemBaseModel extends BaseModel 'pid' => 'int', 'name' => 'string', 'icon' => 'string', - 'link_type' => 'int', + 'link_to' => 'string', 'link' => 'string', 'sort' => 'int', 'blank' => 'int', diff --git a/database/migrations/20241230093811_create_sys_navigation_item.php b/database/migrations/20241230093811_create_sys_navigation_item.php index f9d77dfd..8c11a27b 100644 --- a/database/migrations/20241230093811_create_sys_navigation_item.php +++ b/database/migrations/20241230093811_create_sys_navigation_item.php @@ -32,7 +32,7 @@ class CreateSysNavigationItem extends Migrator ->addColumn('pid', 'integer', ['null' => false, 'default' => 0, 'comment' => '父级ID']) ->addColumn('name', 'string', ['limit' => 64, 'null' => false, 'comment' => '名称']) ->addColumn('icon', 'string', ['limit' => 64, 'null' => true, 'default' => null, 'comment' => '图标']) - ->addColumn('link_to', 'string', ['limit' => 64, 'null' => false, 'comment' => '链接到(类型): article:文章, goods_category:商品分类, goods:商品, link:链接']) + ->addColumn('link_to', 'string', ['limit' => 64, 'null' => false, 'comment' => '链接到(类型): article:文章, article_category:文章分类, product:产品, product_category:产品分类, custom:自定义链接']) ->addColumn('link', 'string', ['limit' => 255, 'null' => false, 'comment' => '链接']) ->addColumn('sort', 'integer', ['limit' => 11, 'null' => false, 'default' => 0, 'comment' => '排序']) ->addColumn('blank', 'boolean', ['limit' => 1, 'null' => false, 'default' => 0, 'comment' => '是否新窗口打开, 0否, 1是']) diff --git a/database/migrations/20241231020620_create_sys_banner_item.php b/database/migrations/20241231020620_create_sys_banner_item.php index 856c80eb..784c00af 100644 --- a/database/migrations/20241231020620_create_sys_banner_item.php +++ b/database/migrations/20241231020620_create_sys_banner_item.php @@ -36,7 +36,7 @@ class CreateSysBannerItem extends Migrator ->addColumn('type', 'string', ['limit' => 16, 'null' => false, 'comment' => '类型: image为图片, video为视频']) ->addColumn('image', 'string', ['limit' => 255, 'null' => false, 'comment' => '图片']) ->addColumn('video', 'string', ['limit' => 255, 'null' => false, 'comment' => '视频']) - ->addColumn('link_to', 'string', ['limit' => 64, 'null' => false, 'comment' => '链接到(类型): article:文章, goods_category:商品分类, goods:商品, custom:自定义链接']) + ->addColumn('link_to', 'string', ['limit' => 64, 'null' => false, 'comment' => '链接到(类型): article:文章, article_category:文章分类, product:产品, product_category:产品分类, custom:自定义链接']) ->addColumn('link', 'string', ['limit' => 255, 'null' => false, 'comment' => '链接']) ->addColumn('sort', 'integer', ['limit' => 11, 'null' => false, 'default' => 0, 'comment' => '排序']) ->addColumn('status', 'boolean', ['limit' => 1, 'null' => false, 'default' => 1, 'comment' => '-1为禁用, 1为启用']) diff --git a/database/migrations/20250301092043_sys_navigation_link_type.php b/database/migrations/20250301092043_sys_navigation_link_type.php deleted file mode 100644 index cbf117d0..00000000 --- a/database/migrations/20250301092043_sys_navigation_link_type.php +++ /dev/null @@ -1,35 +0,0 @@ -table('sys_navigation_link_type', ['engine' => 'InnoDB', 'comment' => '系统导航链接类型']); - $table->addColumn('type_name', 'string', ['limit' => 64, 'null' => false, 'comment' => '类型名称']) - ->addColumn('sort', 'integer', ['limit' => 11, 'null' => false, 'default' => 0, 'comment' => '排序']) - ->create(); - } -}