跳到主要内容

ruoyi单体集成积木报表

本示例以若依Bootstrap单应用版本为例

1、项目结构

2、执行初始化脚本积木报表sql

jimureport.sql

3、pom中引入积木报表最新依赖

springboot2,最新版本可以从 http://jimureport.com/doc/log 中查询到

<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot-starter</artifactId>
<version>${version}</version>
</dependency>

springboot3依赖版本号,请查看文档。

<dependency>
<groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId>
<version>${version}</version>
</dependency>

4、RuoYiApplication添加积木扫描路径

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class },scanBasePackages = {"org.jeecg","com.ruoyi"})

5、shiro排除

//积木报表排除
filterChainDefinitionMap.put("/jmreport/**", "anon");
filterChainDefinitionMap.put("/**/*.js.map", "anon");
filterChainDefinitionMap.put("/**/*.css.map", "anon");

6、yml中配置minidao(可忽略)

minidao :
base-package: org.jeecg.modules.jmreport.desreport.dao*

7、启动项目访问

若依默认端口是80,可以根据自己的需求集成到若依系统里面(如集成到菜单)

积木报表访问地址:http://localhost/jmreport/list
若依访问地址:http://localhost

8、常见问题

1、访问积木报表报错lang找不到

因minidao用的lang版本是2.6,需要排除lang版本

2、需要做权限token传递

详见集成文档:积木报表token权限

3、需要上传图片

详见集成文档:文件上传配置

4 若依集成积木报表swagger(doc.html)访问不到

解决方案,自定义静态资源拦截器即可解决,将doc.html指向指定的swaggerUi路径

@Configuration
public class SwaggerDocConfig implements WebMvcConfigurer {

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
registry.addResourceHandler("doc.html").addResourceLocations("classpath:/META-INF/resources/");
}
}

5. 访问地址连接丢失请求前缀

产生原因之一:nginx转发时访问是有项目前缀,但访问地址上没有拼接,导致项目请求不到地址

  • nginx配置

  • 访问地址缺少前缀

  • 解决方案:pom文件中填写
jeecg :
jmreport:
#自定义项目前缀
customPrePath: