位置: 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显卡驱动怎么安装)

  • 销售商品返还现金
  • 个人企业征收什么税
  • 产值利税率是什么
  • 非税缴税是什么意思
  • 房地产购买材料财务报销单上怎么写
  • 社保代扣代缴怎么取消
  • 工会的会费收入如何记账
  • 收到一张建筑服务*施工费发票
  • 服装公司进布料一般进多少
  • 房租本月入账上月的怎么摊销?
  • 股东分配红利交什么税
  • 每月计提折旧
  • 其他应收账款贷方表示什么意思
  • 固定资产不动产和动产的区别
  • 分公司开票信息
  • 期望值E(X)怎么算例题
  • 企业合并资本公积转留存收益
  • 开具发票必须附列清单吗
  • 个人公积金公司这178,个人交多少
  • 企业税收分为几大类
  • 发票丢了还可以重开吗
  • 质量扣款发票怎么处理
  • 火狐浏览器下载安装
  • 笔记本电脑如何恢复出厂系统
  • win7命令提示符怎么打开
  • PHP+Mysql+jQuery实现发布微博程序 php篇
  • 未到期责任准备金是什么意思
  • PHP:curl_setopt_array()的用法_cURL函数
  • php数组函数实现机选双色球
  • jusched.exe
  • avc格式是什么
  • 最小的蓝牙鼠标是哪款
  • php公众号推送完整示例
  • php递归遍历文件夹
  • php splqueue
  • ios.开发
  • 代扣代缴企业所得税如何申报
  • 企业所得税季初数怎么填
  • 为什么运输合同比租赁合同风险小
  • 工会经费免征三年的文件山东
  • 承租人经营租赁账务处理
  • 如何处理经营租赁合同
  • 给股东分配股利
  • 增值税与消费税中关于包装物押金规定的异同点
  • 公司财务人员岗位职责
  • 一般户可以转账给员工报销吗
  • db2数据库性能调整和优化
  • sql server 2005 sp4
  • 关于材料采购的通知
  • 增值税一般纳税人是什么意思
  • 资产负债表一般由什么组成
  • 公司注销时退还实收资本要交个税吗
  • 其他应付款长期挂账几年必须转收入
  • 补计提所得税怎么做分录
  • 已付款但未收到发票怎样记账
  • 银行定期存款取一部分怎么算利息
  • 哪些企业需要社工
  • 减免的费用怎么做账
  • 公司固定资产如何核算
  • 无形资产减值准备是什么科目
  • 平行结转分步法例题
  • pg 正则表达式
  • ubuntu-
  • linux使用pip
  • vmware安装macos10.15
  • 注册表干嘛用
  • 如何在mac上保存文件
  • 高效快捷键
  • win10系统自带输入法怎么关闭
  • cocos2dx 4.0
  • opengl做简单的模型
  • css透明属性详解怎么写
  • linux中fork()函数详解(原创!!实例讲解)
  • android基于什么操作系统
  • shell脚本编写简单计算器
  • js读取cookies
  • python记录运行状态的模块
  • [置顶]津鱼.我爱你
  • python如何自动化
  • JavaScript为事件句柄绑定监听函数实例详解
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设