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

  • 所得税损益类科目包括
  • 盈余公积是否必要交税
  • 经营所得与劳务所得的税率
  • 销售免税产品要计算销项税吗
  • 手撕票几个点
  • 进料加工委托 加工费发票怎么开
  • 项目现金流量的构成
  • 广告制作需要交文化建设费吗
  • 非独立核算的公司怎么报税
  • 工厂出租厂房税率
  • 物业公司代收水费合理吗
  • 补缴税款罚款
  • 营改增后还有营业费用吗
  • 包销和代销哪个风险大
  • 记账凭证汇总表和汇总记账凭证有什么区别
  • 总分机构类型怎么选
  • 净资产怎么算的 视频
  • 企业所得税利润总额怎么算
  • 冲费用挂账怎么做账
  • 研发费用加计扣除的条件
  • 房产税存在往期未申报信息怎么处理
  • 出口退税新政策对出口贸易的影响
  • 常见的四种POST 提交数据方式(小总结)
  • 会计中记账凭证复核是谁负责
  • PHP:stream_set_blocking()的用法_Stream函数
  • 深度linux使用入门教程
  • 银边翠的栽培历史
  • 蓝莓外面的霜
  • 委托加工物资如何转入生产成本
  • 购入增值税税控系统专用设备
  • php操作mysql数据库(增删改查)
  • 收到税务局退款怎么做分录
  • vue2路由跳转页面不刷新问题
  • vue遍历数组
  • move命令移动文件夹下所有文件
  • 命令行mkdir创建文件夹
  • js创建对象的三种方式
  • 出口未申报如何处理
  • discuz怎么使用
  • 国外公司给国内个人汇款
  • 公司购买办公家具可以抵扣吗
  • mongodb创建库
  • sqlsever无法连接到服务器
  • dedecms插件
  • 支付给临时工的费用
  • 物资采购是
  • 企业现金流量表怎么分析
  • 小规模纳税人开的专票对方可以抵扣吗
  • 境外个人给境内个人汇款什么名义申报
  • 认证过的发票红冲了还要退回吗
  • 单位保险柜里都放些什么
  • 新会计准则开办时间规定
  • 公路工程投标保证金
  • 暂估入库的材料领用时如何做账
  • 生产成本的主要构成要素
  • 资产负债表与利润表的勾稽关系公式
  • 税控盘网上抄报税的步骤
  • 分配服务器失败
  • windows7更新80072efe
  • 什么是活动目录和域
  • ubuntu开启图形化界面
  • debian系统如何安装软件
  • macbookpro 钥匙串
  • win7访问共享文件
  • 怎么检测软件有没有毒
  • centos 软件源
  • 飞行体验设备
  • win7无法更改工作组
  • ie按钮不显示
  • opengl纹理贴图图片位置
  • jQuery插件能输出到控制台
  • 可视化gradcam
  • 备份多个数据库
  • 虚拟主机 推荐
  • excel的最后一列
  • nodejs+ts
  • js图像
  • javascript definitive guide
  • 工会银行卡怎么开通
  • 国税是哪几种
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设