位置: IT常识 - 正文

若依(ruoyi)框架:如何实现灵活自定义路由配置(若依框架是什么框架)

编辑:rootadmin
若依(ruoyi)框架:如何实现灵活自定义路由配置 如何灵活自定义路由配置业务背景如何实现方式一:直接在前端路由表(router/index.js)里面某个路由的meta属性里面配置。方式二:在后台返回动态路由的接口中组装meta信息如何改造效果展示使用方法总结业务背景

推荐整理分享若依(ruoyi)框架:如何实现灵活自定义路由配置(若依框架是什么框架),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:若依idea,若依框架是什么框架,若依框架好用吗,若依框架简介,若依框架是谁家的,若依框架是干嘛的,若依框架简介,若依框架系列视频教程,内容如对您有帮助,希望把文章链接给更多的朋友!

随着项目的深入开发,我们可能会对路由做特殊化处理。比如:访问路由A时需要传入routerType=A,前端会根据routerType=A做一些特殊的处理。

如何实现方式一:直接在前端路由表(router/index.js)里面某个路由的meta属性里面配置。若依(ruoyi)框架:如何实现灵活自定义路由配置(若依框架是什么框架)

这种方法可用于公共路由或固定路由中,而现实开发过程中我们经常遇到的对某个菜单路由的做特殊化处理。还有经常遇到对动态路由的特殊化处理。所以就需要第二种方式。

方式二:在后台返回动态路由的接口中组装meta信息

在若依框架中,获取路由信息接口 /getRouters 中是对存在sys_menu表里的菜单数据进行拼装。

如何改造

步骤:

在sys_menu表中增加一个属性 meta。将 RouterVo 类中的 private MetaVo meta 改为 private Map<String,Object> meta在 SysMenuServiceImpl类里增加 assembleMeta方法。/** * 装配路由的Meta信息 * * @param menu 菜单 * @return Map类型 */ public Map<String,Object> assembleMeta(SysMenu menu) { Map<String,Object> meta = new HashMap<>(); if (StringUtils.isNotEmpty(menu.getMenuName())) { meta.put("title",menu.getMenuName()); } if (StringUtils.isNotEmpty(menu.getIcon())) { meta.put("icon",menu.getIcon()); } if (StringUtils.isNotEmpty(menu.getIsCache())) { meta.put("noCache",StringUtils.equals("1", menu.getIsCache())); } if (StringUtils.isNotEmpty(menu.getPath())) { meta.put("link",menu.getPath()); } //往路由里面添加扩展元数据 if (StringUtils.isNotEmpty(menu.getMeta())) { try { Map<String,Object> metaInfo = (Map<String,Object>)JSONObject.parse(menu.getMeta()); meta.putAll (metaInfo); } catch (Exception e) { log.error("元数据JSON数据转换异常{}", e.getMessage()); } } return meta; }将 SysMenuServiceImpl类里的buildMenus方法中setMeta(new MetaVo(menu...))改为setMeta(assembleMeta(menu))。效果展示

使用方法router.beforeEach((to, from) => { // 而不是去检查每条路由记录 if (to.meta.routerType === 'A') { console.log("做一些特殊的处理.....") return { path: '/login', // 保存我们所在的位置,以便以后再来 query: { redirect: to.fullPath }, } }})总结

以上只是在实际开发过程中,根据实际需要做个一下改造,个性化比较强。你也可以在你的项目中做适合自己项目的改造。

本文链接地址:https://www.jiuchutong.com/zhishi/288935.html 转载请保留说明!

上一篇:伫立枝头的旅鸫鸟,加拿大 (© marcophotos/Getty Images)

下一篇:nvidia显卡驱动、cuda、cudnn、tensorflow对应版本(nvidia显卡驱动怎么安装)

  • 卸载qq聊天记录还在吗(卸载qq聊天记录没了还能恢复吗)

  • 华为手机可以登录两个微信吗(华为手机可以登录两个微信怎么登录)

  • vivo手机网络不稳定怎么设置(vivo手机网络不好怎么设置网络好一点)

  • 为什么华为p40pro拍照模糊(为什么华为p40pro停产了)

  • 抖音里草稿箱里的视频怎么找回(抖音里草稿箱里作品怎么突然没了)

  • word字母右下角的数字怎么打出来(word字母右下角如何加上数字)

  • 微信怎么看红包发了多少(微信怎么看红包记录和转账记录)

  • 微信换了实名二维码要换吗(微信换了实名认证还能支付吗)

  • 抖音小店上传商品审核多久(抖音小店上传商品教程)

  • 微信版本怎么更新不了(微信怎么更最新版本)

  • 拦截退回是什么意思(拦截退回一般多久)

  • 属于操作系统的是(国产操作系统排名)

  • 支付宝刷脸对比源不够清晰(支付宝刷脸对比源照片怎么更新)

  • 手机显示无线网已连接但上不了网(手机连无线网显示)

  • 手机左上角显示hd是什么意思怎么关闭(手机左上角显示hd是什么意思)

  • 打印机状态空闲怎样解决(打印机状态空闲是正常吗)

  • 手机金属边框变形能恢复吗(手机金属边框变形)

  • paat00是什么手机(paam00是什么手机型号吗)

  • 固态硬盘m2接口有几种(ssd固态硬盘m2接口)

  • mate30nfc感应区在哪里(华为mate30nfc感应区在哪里图解)

  • 怎么看天猫排行榜(怎样看天猫榜单)

  • oppor15手机如何关机(oppor15手机怎么录屏)

  • 怎样让电视机连无线网(怎样让电视机连不上网)

  • 苹果xr手机屏幕发黄(苹果xr手机屏幕乱跳怎么解决)

  • 淘宝怎样从收藏移到购物车(淘宝怎么从收藏夹下单)

  • 抖音视频为什么保存不了(抖音视频为什么显示该声音不可用)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络