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
},