import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter) const routes = [ { path: '/', name: 'layout', component: () => import(/* webpackChunkName: "layout" */ '@/pages/layout.vue'), redirect: '/home', children: [ { path: '/home', name: 'home', component: () => import(/* webpackChunkName: "Home" */ '@/pages/Home.vue'), meta: { isLogin: false, keepAlive: true } }, { path: '/type', name: 'type', component: () => import(/* webpackChunkName: "Type" */ '@/pages/Type.vue'), meta: { isLogin: false, keepAlive: true } }, { path: '/car', name: 'car', component: () => import(/* webpackChunkName: "Car" */ '@/pages/Car.vue'), meta: { isLogin: true, keepAlive: false } }, { path: '/me', name: 'me', component: () => import(/* webpackChunkName: "Me" */ '@/pages/Me.vue'), meta: { isLogin: true, keepAlive: false } } ] }, { path: '/account', name: 'account', component: () => import(/* webpackChunkName: "Account" */ '@/pages/Account.vue'), meta: { isLogin: false, keepAlive: false } }, { path: '/info', name: 'info', component: () => import(/* webpackChunkName: "Info" */ '@/pages/Info.vue'), meta: { isLogin: false, keepAlive: false } }, { path: '/order', name: 'order', component: () => import(/* webpackChunkName: "Order" */ '@/pages/Order.vue'), meta: { isLogin: false, keepAlive: false } }, { path: '/status', name: 'status', component: () => import(/* webpackChunkName: "orderStatus" */ '@/pages/orderStatus.vue'), meta: { isLogin: false, keepAlive: false } }, ] const router = new VueRouter({ routes }); router.beforeEach((to, from, next) => { if (to.meta.isLogin) { if (localStorage.getItem("token") != null) { next() } else { next({ path: '/account', query: { from: to.fullPath } }) } } else { next() } }) export default router