import Vue from 'vue' import Router from 'vue-router' import Login from './components/Login.vue' import Home from './components/Home.vue' import NotFound from './components/NotFound.vue' import index from './components/page/index.vue' import introduce from './components/page/introduce.vue' import zhengce from './components/page/zhengce.vue' import keXieXiangMu from './components/page/keXieXiangMu.vue' import xueShuJiaoLiu from './components/page/xueShuJiaoLiu.vue' import banShiZhiNan from './components/page/banShiZhiNan.vue' import kePuFengCai from './components/page/kePuFengCai.vue' import xueXiaoShouYe from './components/page/xueXiaoShouYe.vue' import telephone from './components/page/telephone.vue' import News from './components/page/News.vue' import moreMessage from './views/homePage/moreMessage' import Administrator from './components/Administrator/AdminHome.vue' import Welcome from './components/Administrator/Welcome.vue' import Main from './components/Administrator/Main.vue' import Edit from './components/Administrator/Edit.vue' import EditLunBo from './components/Administrator/EditLunBo.vue' import AdMain from './components/Administrator/AdMain.vue' import AdEdit from './components/Administrator/AdEdit.vue' Vue.use(Router) const router = new Router({ routes: [ { path: '/', redirect: '/home' }, { path: '/login', component: Login }, { path: '/administrator', component: Administrator, children: [ { path: 'welcome', component: Welcome }, { path: 'main', component: Main }, { path: 'edit', component: Edit }, { path: 'news', component: News }, { path: 'editlunbo', component: EditLunBo }, { path: 'admain', component: AdMain }, { path: 'adedit', component: AdEdit } ] }, { path: '/home', component: Home, children: [ { path: '/home', redirect: 'index' }, { path: 'index', component: index }, { path: 'introduce', name: 'introduce', component: introduce }, { path: 'zhengce', name: 'zhengce', component: zhengce }, { path: 'keXieXiangMu', name: 'keXieXiangMu', component: keXieXiangMu }, { path: 'xueShuJiaoLiu', name: 'xueShuJiaoLiu', component: xueShuJiaoLiu }, { path: 'banShiZhiNan', name: 'banShiZhiNan', component: banShiZhiNan }, { path: 'kePuFengCai', name: 'kePuFengCai', component: kePuFengCai }, { path: 'xueXiaoShouYe', name: 'xueXiaoShouYe', component: xueXiaoShouYe }, { path: 'telephone', name: 'telephone', component: telephone }, { path: 'moreMessage', name: 'moreMessage', component: moreMessage }, { path: 'news', name: 'News', component: News } ] }, { path: '*', component: NotFound } ], scrollBehavior(to, from, savedPosition) { //页面跳转后自动回到顶部 if (savedPosition) { return savedPosition } return { x: 0, y: 0 } } }) // 挂载路由导航守卫 router.beforeEach((to, from, next) => { // to 将要访问的路径 // from 代表从哪个路径跳转而来 // next 是一个函数,表示放行 // next() 放行 next('/login') 强制跳转 // if (to.path === '/administrator/main' && !tokenStr) return next() // if (to.path === '/home/index') return next() // 获取token const tokenStr = window.sessionStorage.getItem('token') if (to.path === '/administrator/main' && !tokenStr) return next('/login') if (to.path === '/administrator/admain' && !tokenStr) return next('/login') if (to.path === '/administrator' && !tokenStr) return next('/login') if (to.path === '/administrator/edit' && !tokenStr) return next('/login') if (to.path === '/administrator/welcome' && !tokenStr) return next('/login') // if (!tokenStr) return next('/login') next() }) export default router