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