最近接手vben后台管理模块,因公司业务需求,需要设置后台管理权限。本人也是刚接触,研究了网络上不少关于自定义路由的文章,用自己的思路见解完成后,发布文章给大家提供一些思路解决关于vben路由的问题。
前言
开始vben路由模式默认permissionMode: PermissionModeEnum.ROUTE_MAPPING,可以输出一下读取本地路由的路由数据,此时的路由数据并未注册,而是等权限认证完后通过 router.addRoutes 添加到路由实例,实现权限的过滤。
// src/router/routes/index.ts
本地填写的路由数据如下:
一、修改路由模式
可在 src/settings/projectSetting.ts 路径下修改路由模式
二、获取后端返回的路由表数据
可在 src/store/modules/permission.ts查找出这一段,根据getMenuList此接口返回的后端路由表数据
处理前的数据
处理后的数据
总结
如果后端大哥返回的数据格式与本地一开始读取的路由表数据对的上的话,是不需要怎么修改的,如果对不上则需要在src/router/helper 这两个TS文件中修改transformRouteToMenu和transformObjToRoute方法,至于后端大哥返回的路由表数据格式也和自己上传给后端数据格式息息相关。每个人的代码都不一致,就不提供这两个方法修改的内容了,如有什么疑问也欢迎大家私信我