vue-element-admin 后台动态加载菜单
dynamic-router 项目地址 gitee 前端: 基于 vue-element-admin 延用公司 【用户中心】那一套自己魔改的版本,在此基础之上重构。 后端: Go 的语法简洁,开发速度快,所以后端使用了 Go 结合 Gin 框架,做了一个简单的 CURD 服务。(主要是因为没人手协助,也只好自己写一个了。)这里不过多介绍后端。 前言 动态路由 由于公司业务需要,在权限验证与安全方面,要求是菜单根据权限动态控制。 在现有的项目当中,通过基于 vue-element-admin 项目提供的菜单权限控制,无法满足公司的具体业务需要。 实际上主要的目的是通过后端控制菜单权限。 因此也迭代出了两个版本, 版本二 也只是提供一个设计思路,具体复杂实现基于此套是是可以满足的。这里只做简单的阐述,具体实现可以结合源码。 版本一 在公司项目 【用户中心】 中,我采用的是通过后端菜单列表以及权限标识,做深度递归和匹配。这么写一部分原因是因为是在现有的接口文档基础之上做 魔改 ,第二点也是因为代码耦合度比较高,重构的话周期长(前后端都需要改,前端工作量会很大)。 Interceptor router.beforeEach(async (to, from, next) => { NProgress.start(); if (getToken()) { if (to.path ===