import Vue from 'vue' import VueRouter from 'vue-router' import Login from '@/views/login' import Layout from '@/views/layout' import Search from '@/views/search' import SearchList from '@/views/search/list' import ProDetail from '@/views/prodetail' import Pay from '@/views/pay' import MyOrder from '@/views/myorder' import cart from '@/views/layout/layoutshow/cart' import home from '@/views/layout/layoutshow/home' import category from '@/views/layout/layoutshow/category' import user from '@/views/layout/layoutshow/user' Vue.use(VueRouter) const routes = [ { path: '/login', component: Login }, { path: '/', component: Layout, redirect:'/home', children:[ { path: '/home', component: home }, { path: '/cart', component: cart }, { path: '/category', component: category }, { path: '/user', component: user }, ] }, { path: '/search', component: Search }, { path: '/searchlist', component: SearchList }, // 动态路由传参,确认将来是哪个商品,路由参数中携带 id { path: '/prodetail/:id', component: ProDetail }, { path: '/pay', component: Pay }, { path: '/myorder', component: MyOrder } ] const router = new VueRouter({ routes }) //定义一个需要拦截的路径数组 const authUrls=['/pay','/myorder'] router.beforeEach((to, from,next) => { if(!authUrls.includes(to.path)){ //没有包含直接放行 next() }else{ next('/login') } }) export default router