index.js 1.79 KB
Newer Older
Davve's avatar
Davve committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

/* Layout */
import Layout from '@/views/layout/Layout'

/* Router Modules */
import PickRouter from './modules/pick'
import PushRouter from './modules/push'
import TopicRouter from './modules/topic'
import StarRouter from './modules/star'
import GroupRouter from './modules/group'
import UserRouter from './modules/user'
Davve's avatar
Davve committed
16
import AccountRouter from './modules/account'
Davve's avatar
Davve committed
17
import TagRouter from './modules/tag'
Davve's avatar
Davve committed
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54


export const constantRouterMap = [
  {
    path: '/redirect',
    component: Layout,
    hidden: true,
    children: [
      {
        path: '/redirect/:path*',
        component: () => import('@/views/redirect/index')
      }
    ]
  },
  {
    path: '/login',
    component: () => import('@/views/login/index'),
    hidden: true
  },
  {
    path: '/auth-redirect',
    component: () => import('@/views/login/authredirect'),
    hidden: true
  },
  {
    path: '/404',
    component: () => import('@/views/errorPage/404'),
    hidden: true
  },
  {
    path: '/401',
    component: () => import('@/views/errorPage/401'),
    hidden: true
  },
  {
    path: '',
    component: Layout,
Davve's avatar
Davve committed
55
    redirect: 'home',
Davve's avatar
Davve committed
56 57
    children: [
      {
Davve's avatar
Davve committed
58
        path: 'home',
Davve's avatar
Davve committed
59
        component: () => import('@/views/dashboard/index'),
Davve's avatar
Davve committed
60 61
        name: 'Home',
        meta: { title: '首页', icon: 'dashboard', noCache: true }
Davve's avatar
Davve committed
62 63 64 65 66 67 68 69 70 71 72 73 74 75
      }
    ]
  },
]

export default new Router({
  // mode: 'history', // require service support
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRouterMap
})

export const asyncRouterMap = [

  /** When your routing table is too long, you can split it into small modules**/
Davve's avatar
Davve committed
76
  AccountRouter,
Davve's avatar
Davve committed
77 78 79 80 81 82
  UserRouter,
  GroupRouter,
  TopicRouter,
  StarRouter,
  PushRouter,
  PickRouter,
Davve's avatar
Davve committed
83
  TagRouter,
Davve's avatar
Davve committed
84
  { path: '*', redirect: '/404', hidden: true },
Davve's avatar
Davve committed
85
]