1143670
背景
leader跟我说,想在后台新增一个功能模块,就是后台可视化配置前端项目的菜单信息。由于我不怎么了解后台,其实是,公司人员紧张,只能让我来去做。。。
问题
实现以上需求,我认为需要存在数据库中,此项目为上线项目,技术选型为react,后端数据库为node+mysql(sequelize)。我认为后台需要配备一张router表,但发现,前端的路由菜单是父子嵌套的,我不知道这个router表如何设计,所以来cnodejs请教一下。
前端需要的菜单结构
const routerConfig = [
{ path: "/", component: "/pages/home", name: "首页", key: "index", icon: "i-home", hideNav:false },
{ path: "/cardbox", component: "/pages/cardbox", name: "仪表盘", key: "cardbox", icon: "i-cardbox", hideNav: false,openItem: true
routes: [
{ path: "/cardbox/info", component: "/pages/cardbox/info", name: "分析页", key: "info", icon: "i-xxx", hideNav: false },
{ path: "/cardbox/workplace", component: "/pages/cardbox/workplace", name: "工作台", key: "workplace", icon: "i-xxx2", hideNav: false }
]
},
{ path: "/search", component: "/pages/search", name: "搜索页", key: "search", icon: "i-search", hideNav: false,openItem: false
routes: [
{ path: "/search/article", component: "/pages/search/article", name: "搜索文章", key: "article", icon: "i-xxx", hideNav: false },
{ path: "/cardbox/project", component: "/pages/search/project", name: "搜索项目", key: "project", icon: "i-xxx2", hideNav: false },
{ path: "/cardbox/application", component: "/pages/search/application", name: "搜索应用", key: "application", icon: "i-xxx3", hideNav: false }
]
}
];
目前经过我翻阅百度,尝试一下设计:
个人认为这种方式并不理想,在使用时,需要前台,自己循环迭代数组,通过parentid去组装所需的数据结构。
其次,考虑过存储JSON字符串,提议过pt库,考虑过mongodb,但是提议全被老大直接pass,我让你实现个功能模块,不是让你给我重构项目,工资还想要吗一句反问打的不敢说话,还有弱弱的问一句,公司想培养一名c++工程师,对于将来的职业道路来讲,学习c++对我这种小前端有帮助吗,个人想去学习一下,西佳佳。
在此谢谢诸位了。