// //创建一个路由器 import { createRouter, createWebHashHistory} from "vue-router"; import { getToken2} from "../utils/token"; const router = createRouter({ history: createWebHashHistory(), routes: [ { path: '/', name:'启动页', component: () => import('@/views/openpage.vue'), meta:{ keepAlive:false, // 需要缓存 title: '启动页' }, children:[ { path: '/home/newfile', name: '首页', component: () => import('@/views/home/newfile.vue'), }, { path: '/home/querylist', name: '打开', component: () => import('@/views/home/querylist.vue'), }, { path: '/home/savefile', name: 'savefile', component: () => import('@/views/home/savefile.vue'), } ] }, { path: '/index', name:'主页1', component: () => import('@/views/index.vue'), meta:{ keepAlive:false, // 需要缓存 title: '主页1' }, }, { path: '/home', name:'主页', component: () => import('@/views/home.vue'), meta:{ keepAlive:false, // 需要缓存 title: '主页' }, }, { path: '/login', name: 'login', component: () => import('@/views/login/index.vue'), meta: { keepAlive: false, title: '登录' } }, { path: '/register', name: 'register', component: () => import('@/views/login/register.vue'), meta: { keepAlive: false, title: '注册' } }, { path: '/vueflow', name:'vueflow', component: () => import('@/views/vueflow/index.vue'), meta:{ keepAlive:false, // 需要缓存 title: 'vueflow' }, }, { path: '/demo', name:'demo', component: () => import('@/views/vueflow/demo.vue'), meta:{ keepAlive:false, // 需要缓存 title: 'vueflow' }, }, ] }) //修改动态网页标题 beforeEach 导航钩子,路由改变前触发 router.beforeEach((to, from, next) => { const token = getToken2(); // 获取 token // 定义不需要登录的白名单路由 const whiteList = ['login', 'register']; // 如果用户有 token,直接放行 if (token) { document.title = to.name || '默认标题'; // 设置页面标题 next(); } // 如果没有 token,并且目标页面不在白名单里,跳转到登录页 else if (!whiteList.includes(to.name)) { next({ name: 'login' }); } else { document.title = to.name || '默认标题'; next(); } }); // afterEach 不需要 next 参数 router.afterEach(() => { window.scrollTo(0, 0); // 页面滚动到顶部 }); export default router;