From f892c5d73065d58d5735618d452bdac49e576832 Mon Sep 17 00:00:00 2001 From: pany <939630029@qq.com> Date: Wed, 27 Nov 2024 15:23:28 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E5=B0=86=E7=A4=BA=E4=BE=8B?= =?UTF-8?q?=E9=A1=B5=E9=9D=A2=E7=9A=84=20route=20=E6=94=B6=E6=8B=A2?= =?UTF-8?q?=E5=88=B0=20/demo=20=E4=B8=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/assets/icons/level.svg | 1 - src/common/assets/icons/link.svg | 1 - src/common/assets/icons/lock.svg | 1 - src/common/assets/icons/unocss.svg | 5 - .../demo/{table => }/element-plus/index.vue | 0 src/pages/demo/{level1 => }/level2/index.vue | 0 .../demo/{level1 => }/level2/level3/index.vue | 0 .../demo/{table => }/vxe-table/index.vue | 0 .../vxe-table/tsx/RoleColumnSolts.tsx | 0 .../vxe-table/tsx/StatusColumnSolts.tsx | 0 src/router/index.ts | 194 ++++++++---------- 11 files changed, 86 insertions(+), 116 deletions(-) delete mode 100644 src/common/assets/icons/level.svg delete mode 100644 src/common/assets/icons/link.svg delete mode 100644 src/common/assets/icons/lock.svg delete mode 100644 src/common/assets/icons/unocss.svg rename src/pages/demo/{table => }/element-plus/index.vue (100%) rename src/pages/demo/{level1 => }/level2/index.vue (100%) rename src/pages/demo/{level1 => }/level2/level3/index.vue (100%) rename src/pages/demo/{table => }/vxe-table/index.vue (100%) rename src/pages/demo/{table => }/vxe-table/tsx/RoleColumnSolts.tsx (100%) rename src/pages/demo/{table => }/vxe-table/tsx/StatusColumnSolts.tsx (100%) diff --git a/src/common/assets/icons/level.svg b/src/common/assets/icons/level.svg deleted file mode 100644 index 5321191d..00000000 --- a/src/common/assets/icons/level.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/common/assets/icons/link.svg b/src/common/assets/icons/link.svg deleted file mode 100644 index 9ac0b2cf..00000000 --- a/src/common/assets/icons/link.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/common/assets/icons/lock.svg b/src/common/assets/icons/lock.svg deleted file mode 100644 index 21a75827..00000000 --- a/src/common/assets/icons/lock.svg +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/common/assets/icons/unocss.svg b/src/common/assets/icons/unocss.svg deleted file mode 100644 index 5eaef354..00000000 --- a/src/common/assets/icons/unocss.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/src/pages/demo/table/element-plus/index.vue b/src/pages/demo/element-plus/index.vue similarity index 100% rename from src/pages/demo/table/element-plus/index.vue rename to src/pages/demo/element-plus/index.vue diff --git a/src/pages/demo/level1/level2/index.vue b/src/pages/demo/level2/index.vue similarity index 100% rename from src/pages/demo/level1/level2/index.vue rename to src/pages/demo/level2/index.vue diff --git a/src/pages/demo/level1/level2/level3/index.vue b/src/pages/demo/level2/level3/index.vue similarity index 100% rename from src/pages/demo/level1/level2/level3/index.vue rename to src/pages/demo/level2/level3/index.vue diff --git a/src/pages/demo/table/vxe-table/index.vue b/src/pages/demo/vxe-table/index.vue similarity index 100% rename from src/pages/demo/table/vxe-table/index.vue rename to src/pages/demo/vxe-table/index.vue diff --git a/src/pages/demo/table/vxe-table/tsx/RoleColumnSolts.tsx b/src/pages/demo/vxe-table/tsx/RoleColumnSolts.tsx similarity index 100% rename from src/pages/demo/table/vxe-table/tsx/RoleColumnSolts.tsx rename to src/pages/demo/vxe-table/tsx/RoleColumnSolts.tsx diff --git a/src/pages/demo/table/vxe-table/tsx/StatusColumnSolts.tsx b/src/pages/demo/vxe-table/tsx/StatusColumnSolts.tsx similarity index 100% rename from src/pages/demo/table/vxe-table/tsx/StatusColumnSolts.tsx rename to src/pages/demo/vxe-table/tsx/StatusColumnSolts.tsx diff --git a/src/router/index.ts b/src/router/index.ts index a7324fed..94e4dcb8 100644 --- a/src/router/index.ts +++ b/src/router/index.ts @@ -8,7 +8,7 @@ const Layouts = () => import("@/layouts/index.vue") /** * @name 常驻路由 - * @description 除了 redirect/403/404/login 等隐藏页面,其他页面建议设置 Name 属性 + * @description 除了 redirect/403/404/login 等隐藏页面,其他页面建议设置唯一的 Name 属性 */ export const constantRoutes: RouteRecordRaw[] = [ { @@ -64,18 +64,95 @@ export const constantRoutes: RouteRecordRaw[] = [ ] }, { - path: "/unocss", + path: "/demo", component: Layouts, - redirect: "/unocss/index", + redirect: "/demo/unocss", + name: "Demo", + meta: { + title: "示例", + elIcon: "DataBoard" + }, children: [ { - path: "index", + path: "unocss", component: () => import("@/pages/demo/unocss/index.vue"), name: "UnoCSS", meta: { - title: "UnoCSS", - svgIcon: "unocss" + title: "UnoCSS" } + }, + { + path: "element-plus", + component: () => import("@/pages/demo/element-plus/index.vue"), + name: "ElementPlus", + meta: { + title: "Element Plus", + keepAlive: true + } + }, + { + path: "vxe-table", + component: () => import("@/pages/demo/vxe-table/index.vue"), + name: "VxeTable", + meta: { + title: "Vxe Table", + keepAlive: true + } + }, + { + path: "level2", + component: () => import("@/pages/demo/level2/index.vue"), + redirect: "/demo/level2/level3", + name: "Level2", + meta: { + title: "二级路由", + alwaysShow: true + }, + children: [ + { + path: "level3", + component: () => import("@/pages/demo/level2/level3/index.vue"), + name: "Level3", + meta: { + title: "三级路由", + keepAlive: true + } + } + ] + }, + { + path: "composable-demo", + redirect: "/demo/composable-demo/use-fetch-select", + name: "ComposableDemo", + meta: { + title: "组合式函数" + }, + children: [ + { + path: "use-fetch-select", + component: () => import("@/pages/demo/composable-demo/use-fetch-select.vue"), + name: "UseFetchSelect", + meta: { + title: "useFetchSelect" + } + }, + { + path: "use-fullscreen-loading", + component: () => import("@/pages/demo/composable-demo/use-fullscreen-loading.vue"), + name: "UseFullscreenLoading", + meta: { + title: "useFullscreenLoading" + } + }, + { + path: "use-watermark", + component: () => import("@/pages/demo/composable-demo/use-watermark.vue"), + name: "UseWatermark", + meta: { + title: "useWatermark" + } + } + ] } ] }, @@ -83,7 +160,7 @@ export const constantRoutes: RouteRecordRaw[] = [ path: "/link", meta: { title: "外链", - svgIcon: "link" + elIcon: "link" }, children: [ { @@ -103,112 +180,13 @@ export const constantRoutes: RouteRecordRaw[] = [ } } ] - }, - { - path: "/table", - component: Layouts, - redirect: "/table/element-plus", - name: "Table", - meta: { - title: "表格", - elIcon: "Grid" - }, - children: [ - { - path: "element-plus", - component: () => import("@/pages/demo/table/element-plus/index.vue"), - name: "ElementPlus", - meta: { - title: "Element Plus", - keepAlive: true - } - }, - { - path: "vxe-table", - component: () => import("@/pages/demo/table/vxe-table/index.vue"), - name: "VxeTable", - meta: { - title: "Vxe Table", - keepAlive: true - } - } - ] - }, - { - path: "/level1", - component: Layouts, - redirect: "/level1/level2", - name: "Level1", - meta: { - title: "一级路由", - svgIcon: "level" - }, - children: [ - { - path: "level2", - component: () => import("@/pages/demo/level1/level2/index.vue"), - redirect: "/level1/level2/level3", - name: "Level2", - meta: { - title: "二级路由", - alwaysShow: true - }, - children: [ - { - path: "level3", - component: () => import("@/pages/demo/level1/level2/level3/index.vue"), - name: "Level3", - meta: { - title: "三级路由", - keepAlive: true - } - } - ] - } - ] - }, - { - path: "/composable-demo", - component: Layouts, - redirect: "/composable-demo/use-fetch-select", - name: "ComposableDemo", - meta: { - title: "组合式函数", - elIcon: "Menu" - }, - children: [ - { - path: "use-fetch-select", - component: () => import("@/pages/demo/composable-demo/use-fetch-select.vue"), - name: "UseFetchSelect", - meta: { - title: "useFetchSelect" - } - }, - { - path: "use-fullscreen-loading", - component: () => import("@/pages/demo/composable-demo/use-fullscreen-loading.vue"), - name: "UseFullscreenLoading", - meta: { - title: "useFullscreenLoading" - } - }, - { - path: "use-watermark", - component: () => import("@/pages/demo/composable-demo/use-watermark.vue"), - name: "UseWatermark", - meta: { - title: "useWatermark" - } - } - ] } ] /** * @name 动态路由 * @description 用来放置有权限 (Roles 属性) 的路由 - * @description 必须带有 Name 属性 + * @description 必须带有唯一的 Name 属性 */ export const dynamicRoutes: RouteRecordRaw[] = [ { @@ -218,7 +196,7 @@ export const dynamicRoutes: RouteRecordRaw[] = [ name: "Permission", meta: { title: "权限", - svgIcon: "lock", + elIcon: "lock", roles: ["admin", "editor"], // 可以在根路由中设置角色 alwaysShow: true },