52 lines
1.4 KiB
JavaScript
52 lines
1.4 KiB
JavaScript
import Vue from 'vue'
|
|
import VueRouter from 'vue-router'
|
|
import Login from '../components/Login'
|
|
import Home from '../components/Home'
|
|
import welcome from '../components/welcome'
|
|
import users from '../components/users/users'
|
|
import access from '../components/access/access'
|
|
import roles from '../components/access/roles'
|
|
import categories from '../components/goods/categories'
|
|
import params from '../components/goods/params'
|
|
import goods from '../components/goods/goods'
|
|
import goodsEdit from '../components/goods/edit'
|
|
import order from '../components/order/order'
|
|
|
|
Vue.use(VueRouter)
|
|
|
|
const 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: access },
|
|
{ path: '/roles', component: roles },
|
|
{ path: '/categories', component: categories },
|
|
{ path: '/params', component: params },
|
|
{ path: '/goods', component: goods },
|
|
{ path: '/goods/add', component: goodsEdit },
|
|
{ path: '/orders', component: order }
|
|
]
|
|
}
|
|
]
|
|
|
|
const router = new VueRouter({
|
|
routes
|
|
})
|
|
router.beforeEach((to, from, next) => {
|
|
if (to.path === '/login') {
|
|
return next()
|
|
}
|
|
const token = sessionStorage.getItem('token')
|
|
if (!token) {
|
|
return next('/login')
|
|
}
|
|
next()
|
|
})
|
|
export default router
|