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

  • 企业所得税中资产折旧调整明细表中提示折旧年限
  • 今年补交上年的对外捐赠(视同销售收入)的税怎么处理?
  • 主营业务收入属于什么类
  • 劳务公司在异地做项目需要提供当地完税证明
  • 无租房合同可以取住房公积金吗
  • 叉车上牌流程需要多少时间
  • 为什么租赁只能20年
  • 季度企业所得税可以不预缴吗
  • 出国考察需要什么手续
  • 取得出口退税款算什么收入
  • 怎么计算股票的压力位和支撑位
  • 怎么办开户许可证
  • 优惠券抵扣账务处理流程
  • 补交前期未开票收入税金本期怎么申报?
  • 用银行本票结算材料货款
  • 分公司增值税如何缴纳增值税
  • 广告公司营改增账务处理
  • 纳税申报表未开票收入可以填负数吗
  • 应交税金的明细科目
  • 工资薪金支出的扣除标准
  • ipad常用语在哪里
  • 运行项目报错Couldn't import Django
  • 发代扣代缴手续费个税免
  • html里写php
  • 80岁以上老年卡上的钱如何消费
  • Salzburg with Salzach river, Austria (© MacEaton/Alamy)
  • php反序列化漏洞原理
  • vue treegrid
  • 什么叫含税和未含税区别
  • php封装数据库连接
  • thinkphp制作404跳转页的简单实现方法
  • 帝国cms界面
  • 小微企业年收入超过300万按多少缴纳所得税
  • 通行费电子发票平台
  • 工会经费减除项包括哪些
  • 劳务派遣小规模开票几个点
  • 销售额营业收入怎么填
  • 公司给员工的福利语句
  • 织梦手机端
  • 企业转让商品取得的税收
  • 个人重组债务怎么交税
  • 高速费会计分录怎么写
  • 公司纳税信用等级B级是什么意思
  • 通货膨胀率怎么求
  • 实际出资和名义出资
  • 外经证预缴税款网上申报
  • 银行备付金账户是什么帐户
  • 土地价款抵减销项税
  • 企业无力支付票据时应计入
  • 公账发工资如何记账
  • 子公司如何向母公司开户
  • 咨询服务费如何合理避税
  • 红字发票开出的单价可以比蓝字发票高吗?
  • 买别人的银行卡是啥罪
  • 企业建账要求
  • 安全升级
  • sqlserver 获取字符位置
  • window10预览版
  • ubuntu software database is broken错误该怎么解决?
  • xp怎么装系统步骤图解
  • linux系统坏了怎么恢复数据
  • linux 磁带机
  • win7提示计算机内存不足
  • opengl教程48讲
  • Androidannotation使用之@Rest与服务器交互的JSON数据转换(二)
  • perl编程
  • cocos2dx4.0教程
  • 图形学题目
  • 批处理修改文件后缀名
  • 行为怪异的人有问题吗
  • 关于javascript中数组的说法不正确
  • javascript document.execCommand() 常用解析
  • javascript规范
  • js easyui
  • [置顶]津鱼.我爱你
  • 176是哪的号码
  • 个税申报网上操作步骤
  • 南京国税局长是谁
  • 云南4050人员2020最新政策
  • 河北电子税务局怎么使用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设