From cf3c6082e48c67461d36596eff6d3da6e54bf84f Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期五, 05 七月 2024 11:25:35 +0800
Subject: [PATCH] #

---
 zy-asrs-admin/src/router/index.js |   92 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 71 insertions(+), 21 deletions(-)

diff --git a/zy-asrs-admin/src/router/index.js b/zy-asrs-admin/src/router/index.js
index 11e6fb7..4c2bff6 100644
--- a/zy-asrs-admin/src/router/index.js
+++ b/zy-asrs-admin/src/router/index.js
@@ -1,8 +1,5 @@
 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 { get } from '@/utils/request.js'
 
 const router = createRouter({
   history: createWebHistory(import.meta.env.BASE_URL),
@@ -10,33 +7,86 @@
     {
       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/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) {
+    return null;
+  }
+  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)
+    }
+  })
+}
+
+router.beforeEach((to, from, next) => {
+  if (to.meta && to.meta.title) {
+    document.title = to.meta.title
+  }
+  next()
+})
+
 export default router

--
Gitblit v1.9.1