@rrc-materials/core
Version:
rrc materials for core
47 lines (36 loc) • 1.05 kB
JavaScript
import Vue from 'vue'
import Router from 'vue-router'
import RouterConfig from '@rrc-materials/router-config'
import AuthRouter from './AuthRouter'
import { isUndefined, isObject } from '@rrc/utils'
import DefaultLayout from './Layout.vue'
Vue.use(Router)
const Layout = isUndefined(RouterConfig.layout) ? DefaultLayout : RouterConfig.layout
let routes = [
]
// layout tab 路由
const layoutRouter = {
path: '/',
component: Layout,
children: [],
meta: {
isAddTab: true
}
}
// 加载全局路由
if (!isUndefined(RouterConfig.global)) {
routes = routes.concat(RouterConfig.global)
}
if (!isUndefined(RouterConfig.tabs)) {
layoutRouter.children = RouterConfig.tabs
}
routes.push(layoutRouter)
// 重定向
if (isObject(RouterConfig.redirect)) {
routes.push(RouterConfig.redirect)
}
const authRouter = new AuthRouter()
export default new Router(Object.assign({}, RouterConfig.RouterOptions || {}, {
mode: RouterConfig.mode || 'history',
routes: authRouter.init(routes)
}))