From ac4341ea6b66ae02427d39d35f41d42d78b2eb2e Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期五, 14 二月 2025 10:08:32 +0800
Subject: [PATCH] #
---
zy-asrs-admin/src/router/index.js | 109 ++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 77 insertions(+), 32 deletions(-)
diff --git a/zy-asrs-admin/src/router/index.js b/zy-asrs-admin/src/router/index.js
index 00836f2..858c1d7 100644
--- a/zy-asrs-admin/src/router/index.js
+++ b/zy-asrs-admin/src/router/index.js
@@ -1,51 +1,96 @@
-import { createRouter, createWebHistory } from 'vue-router'
-import HomeView from '../views/HomeView.vue'
-import MenuView from '../views/system/menu/index.vue'
-import LoginView from '../views/login/LoginView.vue'
-import UserLoginView from '../views/system/userLogin/index.vue'
-import UserView from '../views/system/user/index.vue'
+import { createRouter, createWebHistory,createWebHashHistory } from 'vue-router'
+import { get } from '@/utils/request.js'
+import { logout } from '@/config';
const router = createRouter({
- history: createWebHistory(import.meta.env.BASE_URL),
+ history: createWebHashHistory(import.meta.env.BASE_URL),
routes: [
{
path: '/',
name: '涓婚〉',
- component: HomeView,
+ component: () => import('@/views/HomeView.vue'),
meta: {
- keepAlive: true // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
+ keepAlive: true, // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
+ title: '涓婚〉',
},
},
{
path: '/login',
name: '鐧诲綍',
- component: LoginView,
- },
- {
- path: '/system/menu',
- name: '鑿滃崟绠$悊',
- component: MenuView,
+ component: () => import('@/views/login/LoginView.vue'),
meta: {
- keepAlive: true // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
+ title: '鐧诲綍',
},
},
- {
- path: '/system/userLogin',
- name: '鐧诲綍鏃ュ織',
- component: UserLoginView,
- meta: {
- keepAlive: true // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
- },
- },
- {
- path: '/system/user',
- name: '鐢ㄦ埛绠$悊',
- component: UserView,
- meta: {
- keepAlive: true // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
- },
- },
+
+ // {
+ // path: '/system/menu',
+ // name: '鑿滃崟绠$悊',
+ // component: () => import('@/views/system/menu/index.vue'),
+ // meta: {
+ // keepAlive: true // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
+ // },
+ // },
+ // {
+ // path: '/system/userLogin',
+ // name: '鐧诲綍鏃ュ織',
+ // component: () => import('@/views/system/userLogin/index.vue'),
+ // meta: {
+ // keepAlive: true // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
+ // },
+ // },
+ // {
+ // path: '/system/user',
+ // name: '鐢ㄦ埛绠$悊',
+ // component: () => import('@/views/system/user/index.vue'),
+ // meta: {
+ // keepAlive: true // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
+ // },
+ // },
+ // {
+ // path: '/system/host',
+ // name: '鏈烘瀯绠$悊',
+ // component: () => import('@/views/system/host/index.vue'),
+ // meta: {
+ // keepAlive: true // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
+ // },
+ // },
]
})
+export const initRouter = async () => {
+ const modules = import.meta.glob('/src/views/**/index.vue');
+ const resp = await get('/api/auth/router', {});
+ let result = resp.data;
+
+ if(result.code == 200) {
+ let data = result.data;
+ data.forEach((item) => {
+ const module = modules[`/src/views${item.route}/index.vue`];
+ if (module) {
+ const itemRouter = {
+ path: item.route,
+ name: item.name,
+ component: module,
+ meta: {
+ keepAlive: true, // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
+ title: item.name,
+ }
+ }
+ router.addRoute(itemRouter)
+ }
+ })
+ }else if(result.code == 401) {
+ logout()
+ }
+ return null;
+}
+
+router.beforeEach((to, from, next) => {
+ if (to.meta && to.meta.title) {
+ document.title = to.meta.title
+ }
+ next()
+})
+
export default router
--
Gitblit v1.9.1