| | |
| | | import { createRouter, createWebHistory } from 'vue-router' |
| | | 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: () => import('@/views/HomeView.vue'), |
| | | meta: { |
| | | keepAlive: true // 设置keepAlive,让此路由页面被缓存 |
| | | keepAlive: true, // 设置keepAlive,让此路由页面被缓存 |
| | | title: '主页', |
| | | }, |
| | | }, |
| | | { |
| | | path: '/login', |
| | | name: '登录', |
| | | component: () => import('@/views/login/LoginView.vue'), |
| | | meta: { |
| | | title: '登录', |
| | | }, |
| | | }, |
| | | |
| | | // { |
| | |
| | | const modules = import.meta.glob('/src/views/**/index.vue'); |
| | | const resp = await get('/api/auth/router', {}); |
| | | let result = resp.data; |
| | | let data = result.data; |
| | | console.log(result); |
| | | 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,让此路由页面被缓存 |
| | | |
| | | 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) |
| | | } |
| | | 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 |