From fee38f39e36bcda9924f5b26dca609dda6b331e0 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期日, 22 六月 2025 16:53:27 +0800
Subject: [PATCH] no message

---
 zy-asrs-admin/src/router/index.js |  138 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 96 insertions(+), 42 deletions(-)

diff --git a/zy-asrs-admin/src/router/index.js b/zy-asrs-admin/src/router/index.js
index 11e6fb7..6d438e5 100644
--- a/zy-asrs-admin/src/router/index.js
+++ b/zy-asrs-admin/src/router/index.js
@@ -1,42 +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'
-
-const router = createRouter({
-  history: createWebHistory(import.meta.env.BASE_URL),
-  routes: [
-    {
-      path: '/',
-      name: '涓婚〉',
-      component: HomeView,
-      meta: {
-        keepAlive: true // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
-      },
-    },
-    {
-      path: '/login',
-      name: '鐧诲綍',
-      component: LoginView,
-    },
-    {
-      path: '/system/menu',
-      name: '鑿滃崟绠$悊',
-      component: MenuView,
-      meta: {
-        keepAlive: true // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
-      },
-    },
-    {
-      path: '/system/userLogin',
-      name: '鐧诲綍鏃ュ織',
-      component: UserLoginView,
-      meta: {
-        keepAlive: true // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
-      },
-    },
-  ]
-})
-
-export default router
+import { createRouter, createWebHistory,createWebHashHistory } from 'vue-router'
+import { get } from '@/utils/request.js'
+import { logout } from '@/config';
+
+const router = createRouter({
+  history: createWebHashHistory(import.meta.env.BASE_URL),
+  routes: [
+    {
+      path: '/',
+      name: '涓婚〉',
+      component: () => import('@/views/HomeView.vue'),
+      meta: {
+        keepAlive: true, // 璁剧疆keepAlive锛岃姝よ矾鐢遍〉闈㈣缂撳瓨
+        title: '涓婚〉',
+      },
+    },
+    {
+      path: '/login',
+      name: '鐧诲綍',
+      component: () => import('@/views/login/LoginView.vue'),
+      meta: {
+        title: '鐧诲綍',
+      },
+    },
+
+    // {
+    //   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