import stageConfig from '@/config/stage' // 引入舞台配置
|
|
/**
|
* 深度遍历配置树, 摘取叶子节点作为路由部分
|
* @param {*} config 配置项
|
* @param {*} fuc 回调函数
|
*/
|
function deepTravel(config, fuc) {
|
if (Array.isArray(config)) {
|
config.forEach(subConfig => {
|
deepTravel(subConfig, fuc)
|
})
|
} else if (config.children?.length) {
|
config.children.forEach(subConfig => {
|
deepTravel(subConfig, fuc)
|
})
|
} else {
|
fuc(config)
|
}
|
}
|
|
const homeRouter = []
|
|
/**
|
* 构造舞台view路由
|
*/
|
deepTravel(stageConfig, viewConfig => {
|
const viewRouter = {}
|
viewRouter.path = viewConfig.route
|
viewRouter.name = viewConfig.name
|
viewRouter.component = () => import(`@/${viewConfig.filePath}`)
|
viewRouter.meta = {
|
title: viewConfig.title,
|
icon: viewConfig.icon,
|
permission: viewConfig.permission,
|
type: viewConfig.type,
|
blueBaseColor: viewConfig.blueBaseColor ? 'viewConfig.blueBaseColor' : '',
|
}
|
homeRouter.push(viewRouter)
|
})
|
|
export default homeRouter
|