From 960c1797bfa2bbf0bc1b859442028726e62bffec Mon Sep 17 00:00:00 2001
From: uuai <1411741081@qq.com>
Date: Wed, 15 Mar 2023 23:05:46 +0800
Subject: [PATCH] =?UTF-8?q?=E8=B7=AF=E7=94=B1=E8=AE=BE=E7=BD=AE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
vite-demo/src/components/routerView/index.vue | 3 +
vite-demo/src/router/backRouter.js | 347 +++++++++---------
vite-demo/src/router/baseRouter.js | 61 ++-
vite-demo/src/router/index.js | 4 +-
vite-demo/src/store/modules/permission.js | 3 +
vite-demo/src/views/antd/modal/index.vue | 2 +-
vite-demo/src/views/layout/sidebar/index.vue | 45 +--
.../src/views/tool/digitalTokens/index.vue | 2 +-
8 files changed, 248 insertions(+), 219 deletions(-)
create mode 100644 vite-demo/src/components/routerView/index.vue
diff --git a/vite-demo/src/components/routerView/index.vue b/vite-demo/src/components/routerView/index.vue
new file mode 100644
index 0000000..ba32c22
--- /dev/null
+++ b/vite-demo/src/components/routerView/index.vue
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/vite-demo/src/router/backRouter.js b/vite-demo/src/router/backRouter.js
index 1cc2b1f..d1bda01 100644
--- a/vite-demo/src/router/backRouter.js
+++ b/vite-demo/src/router/backRouter.js
@@ -1,7 +1,4 @@
-import routerView from "@/views/form/index";
-// import elementFrom from "../views/form/element/from.vue"
-import elementFrom from '@/views/form/element/from';
export default [
{
path: '/form',
@@ -9,46 +6,38 @@ export default [
meta: {
title: '表单配置',
},
- component: routerView,
+ component: 'Layout',
children: [
- // {
- // path: 'page',
- // name: 'page',
- // meta: {
- // title: '表单配置',
- // },
- // component: '/views/form/index.vue',
- // },
{
- path: 'elementPlus',
+ path: '/elementPlus',
name: 'elementPlus',
meta: {
title: 'element-plus',
},
- component: routerView,
+ component: 'routerView',
// redirect: '/form/elementPlus/elementFrom',
children: [
{
- path: 'elementFrom',
+ path: '/form/elementPlus/elementFrom',
name: 'elementFrom',
meta: {
title: '表单筛选',
},
- component: elementFrom
+ component: '/views/form/element/from.vue'
},
]
},
{
- path: 'antdVue',
+ path: '/antdVue',
name: 'antdVue',
meta: {
title: 'antdVue',
},
- component: routerView,
+ component: 'routerView',
// redirect: '/form/antdVue/antdForm',
children: [
{
- path: 'antdForm',
+ path: '/antdForm',
name: 'antdForm',
meta: {
title: 'antd表单',
@@ -56,7 +45,7 @@ export default [
component: '/views/form/antd/form.vue',
},
{
- path: 'screening',
+ path: '/screening',
name: 'screening',
meta: {
title: '条件筛选',
@@ -68,164 +57,164 @@ export default [
]
},
- // {
- // path: '/antd',
- // name: 'antd',
- // meta: {
- // title: 'antd二次封装',
- // },
- // component: routerView,
- // children: [
- // {
- // path: 'antdDemo',
- // name: 'antdDemo',
- // title: 'demo',
- // meta: {
- // title: 'demo',
- // },
- // component: '/views/antd/index.vue',
- // },
- // {
- // path: 'modal',
- // name: 'modal',
- // title: '对话框',
- // meta: {
- // title: '对话框',
- // },
- // component: '/views/antd/modal/index.vue',
- // },
- // {
- // path: 'drawer',
- // name: 'drawer',
- // title: '抽屉',
- // meta: {
- // title: '抽屉',
- // },
- // component: '/views/antd/drawer/index.vue',
- // },
- // {
- // path: 'table',
- // name: 'table',
- // title: '表格',
- // meta: {
- // title: '表格',
- // },
- // component: '/views/antd/table/index.vue',
- // },
- //
- // ]
- // },
- // {
- // path: '/tool',
- // name: 'tool',
- // meta: {
- // title: '工具库',
- // },
- // component: routerView,
- // children: [
- // {
- // path: 'md',
- // name: 'md',
- // title: 'md编译器',
- // meta: {
- // title: 'md编译器',
- // },
- // component: '/views/tool/mdEditor.vue',
- // },
- // {
- // path: 'digitalTokens',
- // name: 'digitalTokens',
- // title: '数字令牌',
- // meta: {
- // title: '数字令牌',
- // },
- // component: '/views/tool/digitalTokens/index.vue',
- // },
- // {
- // path: 'ui',
- // name: 'ui',
- // title: 'ui库插件化',
- // meta: {
- // title: 'ui库插件化',
- // },
- // component: '/views/MyUI/UI.vue',
- // },
- // ]
- // },
- // {
- // path: '/skills',
- // name: 'skills',
- // meta: {
- // title: '知识点',
- // },
- // component: routerView,
- // children: [
- // {
- // path: 'vue3',
- // name: 'vue3',
- // title: 'vue3',
- // meta: {
- // title: 'vue3',
- // },
- // component: routerView,
- // children: [
- // {
- // path: 'fnApi',
- // name: 'fnApi',
- // meta: {
- // title: 'vue3开发技巧',
- // },
- // component: '/views/skills/vue3/fnApi.vue',
- // },
- // ]
- // },
- // ]
- // },
- // {
- // path: '/chart',
- // name: 'chart',
- // meta: {
- // title: '图表',
- // },
- // component: routerView,
- // children: [
- // {
- // path: 'charts',
- // name: 'charts',
- // title: 'charts',
- // meta: {
- // title: 'charts',
- // },
- // component: '/views/chart/index.vue',
- // }, {
- // path: 'configuration',
- // name: 'configuration',
- // title: 'charts配置',
- // meta: {
- // title: 'charts配置',
- // },
- // component: '/views/chart/configuration.vue',
- // },
- // ]
- // },
- // {
- // path: '/node',
- // name: 'node',
- // meta: {
- // title: 'sqlite',
- // },
- // component: routerView,
- // children: [
- // {
- // path: 'sqlite',
- // name: 'sqlite',
- // title: 'sqlite',
- // meta: {
- // title: 'sqlite',
- // },
- // component: '/views/node/sqlite3/index.vue',
- // }
- // ]
- // },
+ {
+ path: '/antd',
+ name: 'antd',
+ meta: {
+ title: 'antd二次封装',
+ },
+ component: 'Layout',
+ children: [
+ {
+ path: '/antdDemo',
+ name: 'antdDemo',
+ title: 'demo',
+ meta: {
+ title: 'demo',
+ },
+ component: '/views/antd/index.vue',
+ },
+ {
+ path: '/modal',
+ name: 'modal',
+ title: '对话框',
+ meta: {
+ title: '对话框',
+ },
+ component: '/views/antd/modal/index.vue',
+ },
+ {
+ path: '/drawer',
+ name: 'drawer',
+ title: '抽屉',
+ meta: {
+ title: '抽屉',
+ },
+ component: '/views/antd/drawer/index.vue',
+ },
+ {
+ path: '/table',
+ name: 'table',
+ title: '表格',
+ meta: {
+ title: '表格',
+ },
+ component: '/views/antd/table/index.vue',
+ },
+ ]
+ },
+ {
+ path: '/tool',
+ name: 'tool',
+ meta: {
+ title: '工具库',
+ },
+ component: 'Layout',
+ children: [
+ {
+ path: '/md',
+ name: 'md',
+ title: 'md编译器',
+ meta: {
+ title: 'md编译器',
+ },
+ component: '/views/tool/mdEditor.vue',
+ },
+ {
+ path: '/digitalTokens',
+ name: 'digitalTokens',
+ title: '数字令牌',
+ meta: {
+ title: '数字令牌',
+ },
+ component: '/views/tool/digitalTokens/index.vue',
+ },
+ {
+ path: '/ui',
+ name: 'ui',
+ title: 'ui库插件化',
+ meta: {
+ title: 'ui库插件化',
+ },
+ component: '/views/MyUI/UI.vue',
+ },
+ ]
+ },
+ {
+ path: '/skills',
+ name: 'skills',
+ meta: {
+ title: '知识点',
+ },
+ component: "Layout",
+ children: [
+ {
+ path: '/vue3',
+ name: 'vue3',
+ title: 'vue3',
+ meta: {
+ title: 'vue3',
+ },
+ component: 'routerView',
+ children: [
+ {
+ path: '/fnApi',
+ name: 'fnApi',
+ meta: {
+ title: 'vue3开发技巧',
+ },
+ component: '/views/skills/vue3/fnApi.vue',
+ },
+ ]
+ },
+ ]
+ },
+ {
+ path: '/chart',
+ name: 'chart',
+ meta: {
+ title: '图表',
+ },
+ component: "Layout",
+ children: [
+ {
+ path: '/charts',
+ name: 'charts',
+ title: 'charts',
+ meta: {
+ title: 'charts',
+ },
+ component: '/views/chart/index.vue',
+ }, {
+ path: '/configuration',
+ name: 'configuration',
+ title: 'charts配置',
+ meta: {
+ title: 'charts配置',
+ },
+ component: '/views/chart/configuration.vue',
+ },
+ ]
+ },
+ {
+ path: '/node',
+ name: 'node',
+ meta: {
+ title: 'sqlite',
+ },
+ component: "Layout",
+ redirect: '/sqlite',
+ children: [
+ {
+ path: '/sqlite',
+ name: 'sqlite',
+ title: 'sqlite',
+ meta: {
+ title: 'sqlite',
+ },
+ component: '/views/node/sqlite3/index.vue',
+ }
+ ]
+ },
{path: '/:pathMatch(.*)', hidden: true, redirect: '/'} //当用户输入页面链接错误或者没有该页面时,显示该路径页面
]
diff --git a/vite-demo/src/router/baseRouter.js b/vite-demo/src/router/baseRouter.js
index df55288..914a02f 100644
--- a/vite-demo/src/router/baseRouter.js
+++ b/vite-demo/src/router/baseRouter.js
@@ -1,20 +1,13 @@
import Layout from "@/views/layout/index.vue";
+import routerView from "@/views/form/index.vue";
export default [
{
path: '/login',
name: 'login',
component: () => import('@/views/Login/Login.vue'),
- hidden: false
+ hidden: true
},
- // {
- // path: '/login2',
- // name: 'login2',
- // // component: () => import('@/views/welcome/index.vue'),
- // component: () => import('@/views/form/element/from.vue'),
- // // component: '/views/form/element/from.vue',
- // // hidden: true
- // },
{
path: '/',
component: Layout,
@@ -26,7 +19,7 @@ export default [
},
children: [
{
- path: 'welcome',
+ path: '/welcome',
name: 'welcome',
title: '欢迎页',
meta: {
@@ -36,4 +29,52 @@ export default [
}
]
},
+ // {
+ // path: '/antd',
+ // name: 'antd',
+ // meta: {
+ // title: 'antd二次封装',
+ // },
+ // component: Layout,
+ // children: [
+ // {
+ // path: '/antdDemo',
+ // name: 'antdDemo',
+ // title: 'demo',
+ // meta: {
+ // title: 'demo',
+ // },
+ // // component: '/views/antd/index.vue',
+ // component: () => import('@/views/antd/index.vue')
+ // },
+ // {
+ // path: '/modal',
+ // name: 'modal',
+ // title: '对话框',
+ // meta: {
+ // title: '对话框',
+ // },
+ //
+ // component: () => import('@/views/antd/modal/index.vue'),
+ // },
+ // {
+ // path: '/drawer',
+ // name: 'drawer',
+ // title: '抽屉',
+ // meta: {
+ // title: '抽屉',
+ // },
+ // component: () => import('@/views/antd/drawer/index.vue'),
+ // },
+ // {
+ // path: '/table',
+ // name: 'table',
+ // title: '表格',
+ // meta: {
+ // title: '表格',
+ // },
+ // component: () => import('@/views/antd/table/index.vue'),
+ // },
+ // ]
+ // },
]
\ No newline at end of file
diff --git a/vite-demo/src/router/index.js b/vite-demo/src/router/index.js
index 09c1cb0..c9c8ea6 100644
--- a/vite-demo/src/router/index.js
+++ b/vite-demo/src/router/index.js
@@ -1,4 +1,4 @@
-import {createRouter, createWebHistory} from 'vue-router'
+import {createRouter, createWebHistory,createWebHashHistory} from 'vue-router'
// 基本路由信息
import baseRouter from './baseRouter'
@@ -6,7 +6,7 @@ import baseRouter from './baseRouter'
console.log(baseRouter);
const router = createRouter({
- history: createWebHistory(), //===>mode:"history"
+ history: createWebHashHistory(), //===>mode:"history"
routes: baseRouter
})
diff --git a/vite-demo/src/store/modules/permission.js b/vite-demo/src/store/modules/permission.js
index a6284b3..21095dc 100644
--- a/vite-demo/src/store/modules/permission.js
+++ b/vite-demo/src/store/modules/permission.js
@@ -24,6 +24,7 @@ function hasPermission(roles, route) {
const comp = import.meta.glob(`/src/views/**/*/*.vue`);
// const comp = comp1.concat(comp2)
import Layout from "@/views/layout/index.vue";
+import routerView from "@c/routerView/index.vue";
console.log('component', comp);
@@ -49,6 +50,8 @@ function filterAsyncRouter(asyncRouterMap) { //遍历后台传来的路由字符
if (route.component) {
if (route.component === 'Layout') { //Layout组件特殊处理
route.component = Layout;
+ }else if (route.component === 'routerView') { //Layout组件特殊处理
+ route.component = routerView;
} else {
route.component = comp['/src' + route.component]
}
diff --git a/vite-demo/src/views/antd/modal/index.vue b/vite-demo/src/views/antd/modal/index.vue
index f489196..2036581 100644
--- a/vite-demo/src/views/antd/modal/index.vue
+++ b/vite-demo/src/views/antd/modal/index.vue
@@ -10,7 +10,7 @@
>
-
+