Skip to content

SpringReport(vue3)与若依集成

集成视频可以参照vue2版本的进行,都是一个套路

项目版本vue版本
若依RuoYi-前端分离版本 3.8.9vue2
SpringReport2.3.0 +vue3

集成方式

通过iframe的方式将SpringReport集成到若依项目中,若依的服务和SpringReport需要单独启动,并不是代码整合集成

开始集成

集成过程中不管是若依框架的代码还是SpringReport的代码都需要进行稍微的改动,按照以下步骤进行改动即可。 这个改动过程不会对若依原有的功能产生影响

若依前端改动

将【report文件夹】放到若依项目views目录下,【report文件夹】可以从git上获取到,所在的目录是【sql脚本和其他\若依集成相关文件】 若依项目中目录位置如下图所示: 输入图片说明

若依后端改动

1.将【SpringReportController.java】文件放到ruoyi-admin项目的【com.ruoyi.web.controller.system】包下, 【SpringReportController.java】可以从git上获取到,所在的目录是【sql脚本和其他\若依集成相关文件】

SpringReportController的作用:当从若依系统中打开SpringReport相关的页面时,会带着若依项目的token到SpringReport,SpringReport项目会利用这个token访问SpringReportController暴露出来的getTokenData这个接口,验证token的是否正确,如果不正确则无法访问。

如下图所示: 输入图片说明

2.执行【report_menu_vue3.sql】脚本,添加报表对应的菜单数据,脚本执行过程中如果跟现有数据主键冲突,请自己修改一下脚本的主键id 路由参数是SpringReport对应页面的访问链接,例如{"url":"http://localhost:9527/SpringReport/reportDatasource"}, 如果需要改动可以启动若依项目通过菜单管理页面进行改动,如下图: 输入图片说明

SpringReport前端改动

  1. 找到【router/index.js】文件中的【createRouter】方法,将 routes: constantRoutes, 修改成 routes:constantThirdPartyRoutes, 如下图所示: 输入图片说明 2.如果想改变一下SpringReport的主题颜色与若依保持一致,则找到【element/index.scss】文件中的base: #17b794;修改为$--color-primary: #409EFF; 全局搜索#17b794替换成#409EFF或者自己想要的主题色 如果不需要改变SpringReport的主题颜色则可以忽略 如下图所示: 输入图片说明

SpringReport后端改动

1.找到application.properties文件,将merchantmode=1修改为merchantmode=2
merchantmode是控制是否启用多租户模式,merchantmode=1是启动多租户模式,嵌入若依框架不支持多租户模式,所以要将merchantmode设置成2
2.找到application-dev.properties配置文件,根据自己的环境选择是dev,还是test,还是pub配置文件,配置以下内容:
thirdParty.type=ruoyi
thirdParty.tokencheck.url=http://localhost:8080/springReport/getTokenData
thirdParty.token.expire=86400
这三个属性的作用分别如下:
thirdParty.type:第三方框架类型,若依框架默认值为ruoyi,以后还可能会与其他框架集成
thirdParty.tokencheck.url:第三方token校验接口,也就是在若依框架中添加的SpringReportController.java对应的getTokenData的访问接口
thirdParty.token.expire:第三方token有效时长,单位秒

iframe方式集成的优缺点

优点

iframe方式集成比较简单,快捷,不只是若依框架可以通过该种方式集成,其他的第三方框架或者系统都可以通过该种方式集成

缺点

服务需要单独部署启动,并不是一个整体,部署上更复杂一些,系统样式不统一,并且也有一些功能暂时无法支持,需要额外的对接开发。 以下是通过iframe方式集成暂时不可用的一些功能以及解决方案

功能所属模块解决方案
新增excel报表模板,查看权限不支持指定角色Excel报表需要对接若依的用户角色,若依对外暴露接口或者同步数据到springreport库中
报表设计页面【添加保护】【查看保护范围】功能不支持Excel报表设计需要对接若依的组织架构,若依对外暴露接口或者同步数据到springreport中
Excel协同文档页面【添加保护】【查看保护范围】功能不支持Excel协同文档编辑需要对接若依的组织架构,若依对外暴露接口或者同步数据到springreport中
Excel协同文档显示用户编辑信息和操作记录无法记录操作人Excel协同文档编辑需要对接若依的用户数据,若依对外暴露接口或者同步数据到springreport库中