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