标签:ora 防止 imp rect outer 导航 获取 ken const
import Vue from ‘vue‘
import Router from ‘vue-router‘
import Login from ‘./components/Login.vue‘
import Home from ‘./components/Home.vue‘
import Welcome from ‘./components/Welcome.vue‘
import Users from ‘./components/user/Users.vue‘
import Rights from ‘./components/power/Rights.vue‘
import Roles from ‘./components/power/Roles.vue‘
Vue.use(Router)
const router = new Router({
routes: [
{ path: ‘/‘, redirect: ‘/login‘ },
{ path: ‘/login‘, component: Login },
{
path: ‘/home‘,
component: Home,
redirect: ‘/welcome‘,
children: [
{ path: ‘/welcome‘, component: Welcome },
{ path: ‘/users‘, component: Users },
{ path: ‘/rights‘, component: Rights },
{ path: ‘/roles‘, component: Roles }
]
}
]
})
// 挂载路由导航守卫 防止 不登录 直接访问页面
router.beforeEach((to, from, next) => {
// to 将要访问的路径
// from 代表从哪个路径跳转而来
// next 是一个函数,表示放行
// next() 放行 next(‘/login‘) 强制跳转
if (to.path === ‘/login‘) return next()
//项目中出了登录之外的其他API接口,必须在登录之后才能访问
// 1.2 token 只应在当前网站打开期间生效,所以将 token 保存在 sessionStorage 中
// 获取token
const tokenStr = window.sessionStorage.getItem(‘token‘)
if (!tokenStr)
return next(‘/login‘)
next()
})
export default router
标签:ora 防止 imp rect outer 导航 获取 ken const
原文地址:https://www.cnblogs.com/jinsuo/p/12426496.html