import Vue from 'vue'
import Router from 'vue-router'
import login from '@/views/login/login'
import phone from '@/views/login/phone'
import index from '@/views/home/index'
Vue.use(Router)
const router =new Router({
routes: [
{
path: '/',
name: 'index',
component: index
},
{
path: '/login',
name: 'login',
component: login
},
{
path: '/phone',
name: 'phone',
component: phone
},
]
})
// 全局路由守卫
router.beforeEach((to, from, next) => {
// to: Route: 即将要进入的目标 路由对象
// from: Route: 当前导航正要离开的路由
// next: Function: 一定要调用该方法来 resolve 这个钩子。执行效果依赖 next 方法的调用参数。
const nextRoute = ['index',‘phone’]; //需要验证登陆的路由列表数组
let isLogin=sessionStorage.getItem("guanai_token"); // 是否登录
// 未登录状态;当路由到nextRoute指定页时,跳转至login
if (nextRoute.indexOf(to.name) >= 0) {
router.push({ name: 'login' });
}
// 已登录状态;当路由到login时,跳转至home
if (to.name === 'login') {
if (isLogin) {
router.push({ name: 'agentProductList' });
}
}
next();
});
export default router;
vue中路由守卫
最新推荐文章于 2024-02-14 03:38:40 发布