
17 changed files with 4137 additions and 1 deletions
@ -0,0 +1,15 @@ |
|||
FROM anapsix/alpine-java:8_server-jre_unlimited |
|||
|
|||
MAINTAINER jeecgos@163.com |
|||
|
|||
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime |
|||
|
|||
RUN mkdir -p /jimureport |
|||
|
|||
WORKDIR /jimureport |
|||
|
|||
EXPOSE 8085 |
|||
|
|||
ADD ./target/jimureport-example-1.6.jar ./ |
|||
|
|||
CMD java -DMYSQL-HOST=jimureport-mysql -Dfile.encoding=utf-8 -Djava.security.egd=file:/dev/./urandom -jar jimureport-example-1.6.jar |
@ -1,3 +1,55 @@ |
|||
# yxt-yyth-jimureport |
|||
|
|||
积木报表服务 |
|||
积木报表服务 |
|||
|
|||
|
|||
``` |
|||
采用mysql5.7数据库 |
|||
``` |
|||
|
|||
|
|||
|
|||
|
|||
使用步骤 |
|||
----------------------------------- |
|||
|
|||
- 第一步:执行初始化脚步(自动创建数据库jimureport) |
|||
|
|||
db/jimureport.mysql5.7.create.sql |
|||
|
|||
- 第三步: 启动项目(右键运行) |
|||
|
|||
org.jeecg.modules.JimuReportApplication |
|||
|
|||
- 第四步: 访问项目 |
|||
|
|||
http://localhost:8085/jmreport/list |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
Docker镜像制作 |
|||
----------------------------------- |
|||
|
|||
- 第一步:下载项目 |
|||
|
|||
git clone https://gitee.com/jeecg/JimuReport.git |
|||
|
|||
- 第二步:进入项目 jimureport-example 根目录 |
|||
|
|||
cd JimuReport/jimureport-example |
|||
|
|||
- 第三步:maven执行package |
|||
|
|||
mvn clean package |
|||
|
|||
- 第四步:执行命令,生成镜像 |
|||
|
|||
>如果使用的是Mac M系列芯片,需要修改docker-compose.yml文件的第一行为:```FROM arm64v8/mysql:8``` |
|||
|
|||
docker-compose up -d |
|||
|
|||
- 第五步:访问报表 |
|||
|
|||
http://localhost:8085/jmreport/list |
@ -0,0 +1,9 @@ |
|||
FROM mysql:8.0.19 |
|||
|
|||
MAINTAINER jeecgos@163.com |
|||
|
|||
ENV TZ=Asia/Shanghai |
|||
|
|||
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone |
|||
|
|||
COPY ./jimureport.mysql5.7.create.sql /docker-entrypoint-initdb.d |
File diff suppressed because one or more lines are too long
@ -0,0 +1,27 @@ |
|||
version: '2' |
|||
services: |
|||
jimureport-mysql: |
|||
build: |
|||
context: ./db |
|||
environment: |
|||
MYSQL_ROOT_PASSWORD: root |
|||
restart: always |
|||
container_name: jimureport-mysql |
|||
image: jimureport-mysql |
|||
command: |
|||
--character-set-server=utf8mb4 |
|||
--collation-server=utf8mb4_general_ci |
|||
--explicit_defaults_for_timestamp=true |
|||
--lower_case_table_names=1 |
|||
--max_allowed_packet=128M |
|||
ports: |
|||
- 3307:3306 |
|||
|
|||
jimureport: |
|||
build: |
|||
context: . |
|||
restart: always |
|||
container_name: jimureport |
|||
image: jimureport |
|||
ports: |
|||
- 8085:8085 |
@ -0,0 +1,190 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
|||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
|||
<modelVersion>4.0.0</modelVersion> |
|||
<parent> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-parent</artifactId> |
|||
<version>2.7.10</version> |
|||
<relativePath/> |
|||
</parent> |
|||
|
|||
<name>yxt-yyth-jimureport</name> |
|||
<groupId>com.yxt.yyth</groupId> |
|||
<artifactId>yxt-yyth-jimureport</artifactId> |
|||
<version>1.0.0</version> |
|||
<description>积木报表集成</description> |
|||
|
|||
<repositories> |
|||
<repository> |
|||
<id>aliyun</id> |
|||
<name>aliyun Repository</name> |
|||
<url>https://maven.aliyun.com/nexus/content/groups/public</url> |
|||
<snapshots> |
|||
<enabled>false</enabled> |
|||
</snapshots> |
|||
</repository> |
|||
<repository> |
|||
<id>jeecg</id> |
|||
<name>jeecg Repository</name> |
|||
<url>https://maven.jeecg.org/nexus/content/repositories/jeecg</url> |
|||
<snapshots> |
|||
<enabled>false</enabled> |
|||
</snapshots> |
|||
</repository> |
|||
</repositories> |
|||
|
|||
<properties> |
|||
<jimureport.version>1.6.5</jimureport.version> |
|||
<java.version>1.8</java.version> |
|||
<minio.version>8.0.3</minio.version> |
|||
<!-- DB驱动 --> |
|||
<mysql-connector-java.version>8.0.27</mysql-connector-java.version> |
|||
</properties> |
|||
|
|||
|
|||
<dependencies> |
|||
<!-- Lombok --> |
|||
<dependency> |
|||
<groupId>org.projectlombok</groupId> |
|||
<artifactId>lombok</artifactId> |
|||
</dependency> |
|||
|
|||
<!-- JimuReport --> |
|||
<dependency> |
|||
<groupId>org.jeecgframework.jimureport</groupId> |
|||
<artifactId>jimureport-spring-boot-starter</artifactId> |
|||
<version>${jimureport.version}</version> |
|||
</dependency> |
|||
<!-- JimuReport mogodb/redis支持包(按需添加) --> |
|||
<dependency> |
|||
<groupId>org.jeecgframework.jimureport</groupId> |
|||
<artifactId>jimureport-nosql-starter</artifactId> |
|||
<version>1.6.0</version> |
|||
</dependency> |
|||
|
|||
|
|||
<!-- SpringBoot--> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-web</artifactId> |
|||
</dependency> |
|||
<dependency> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-starter-freemarker</artifactId> |
|||
</dependency> |
|||
|
|||
<!-- minio oss--> |
|||
<dependency> |
|||
<groupId>io.minio</groupId> |
|||
<artifactId>minio</artifactId> |
|||
<version>${minio.version}</version> |
|||
<optional>true</optional> |
|||
</dependency> |
|||
|
|||
<!-- ============================数据库驱动========================== --> |
|||
<!--mysql--> |
|||
<dependency> |
|||
<groupId>mysql</groupId> |
|||
<artifactId>mysql-connector-java</artifactId> |
|||
<version>8.0.29</version> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
<!-- oracle驱动--> |
|||
<dependency> |
|||
<groupId>com.oracle</groupId> |
|||
<artifactId>ojdbc6</artifactId> |
|||
<version>11.2.0.3</version> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
<!-- sqlserver--> |
|||
<dependency> |
|||
<groupId>com.microsoft.sqlserver</groupId> |
|||
<artifactId>sqljdbc4</artifactId> |
|||
<version>4.0</version> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
<!-- postgresql驱动--> |
|||
<dependency> |
|||
<groupId>org.postgresql</groupId> |
|||
<artifactId>postgresql</artifactId> |
|||
<version>42.2.6</version> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
<!-- ===需要什么数据库,手工打开注释=== --> |
|||
<!-- 达梦驱动--> |
|||
<!-- <dependency>--> |
|||
<!-- <groupId>com.dameng</groupId>--> |
|||
<!-- <artifactId>DmJdbcDriver18</artifactId>--> |
|||
<!-- <version>1.0</version>--> |
|||
<!-- <scope>runtime</scope>--> |
|||
<!-- </dependency>--> |
|||
<!-- <dependency>--> |
|||
<!-- <groupId>com.dameng</groupId>--> |
|||
<!-- <artifactId>DmDialectForHibernate</artifactId>--> |
|||
<!-- <version>5.3</version>--> |
|||
<!-- <scope>runtime</scope>--> |
|||
<!-- </dependency>--> |
|||
<!-- sqlite--> |
|||
<dependency> |
|||
<groupId>org.xerial</groupId> |
|||
<artifactId>sqlite-jdbc</artifactId> |
|||
<version>3.34.0</version> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
<!--hsqldb--> |
|||
<dependency> |
|||
<groupId>org.hsqldb</groupId> |
|||
<artifactId>hsqldb</artifactId> |
|||
<version>2.2.8</version> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
<!--h2--> |
|||
<dependency> |
|||
<groupId>com.h2database</groupId> |
|||
<artifactId>h2</artifactId> |
|||
<version>1.4.197</version> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
<!--derby--> |
|||
<dependency> |
|||
<groupId>org.apache.derby</groupId> |
|||
<artifactId>derbyclient</artifactId> |
|||
<version>10.11.1.1</version> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
<!--db2--> |
|||
<dependency> |
|||
<groupId>com.ibm.db2</groupId> |
|||
<artifactId>jcc</artifactId> |
|||
<version>11.5.0.0</version> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
<!--神通--> |
|||
<dependency> |
|||
<groupId>com.csicit.thirdparty</groupId> |
|||
<artifactId>oscar</artifactId> |
|||
<version>1.0.1</version> |
|||
<scope>runtime</scope> |
|||
</dependency> |
|||
<!-- <!–人大金仓–>--> |
|||
<!-- <dependency>--> |
|||
<!-- <groupId>kingbase</groupId>--> |
|||
<!-- <artifactId>kingbase8</artifactId>--> |
|||
<!-- <version>8</version>--> |
|||
<!-- <scope>runtime</scope>--> |
|||
<!-- </dependency>--> |
|||
<!-- ============================数据库驱动========================== --> |
|||
</dependencies> |
|||
|
|||
<build> |
|||
<plugins> |
|||
<!-- SpringBoot启动 --> |
|||
<plugin> |
|||
<groupId>org.springframework.boot</groupId> |
|||
<artifactId>spring-boot-maven-plugin</artifactId> |
|||
</plugin> |
|||
</plugins> |
|||
</build> |
|||
|
|||
</project> |
@ -0,0 +1,28 @@ |
|||
package com.jeecg.modules; |
|||
|
|||
import org.springframework.boot.SpringApplication; |
|||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration; |
|||
import org.springframework.boot.autoconfigure.SpringBootApplication; |
|||
import org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; |
|||
import org.springframework.context.ConfigurableApplicationContext; |
|||
import org.springframework.core.env.Environment; |
|||
|
|||
/** |
|||
* 积木报表独立服务启动类 |
|||
*/ |
|||
@SpringBootApplication |
|||
@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class}) |
|||
public class JimuReportApplication { |
|||
|
|||
public static void main(String[] args) { |
|||
ConfigurableApplicationContext application = SpringApplication.run(JimuReportApplication.class, args); |
|||
Environment env = application.getEnvironment(); |
|||
String port = env.getProperty("server.port"); |
|||
String path = env.containsProperty("server.servlet.context-path")?env.getProperty("server.servlet.context-path"):""; |
|||
System.out.print("\n----------------------------------------------------------\n\t" + |
|||
"Application JimuReport Demo is running! Access URL:\n\t" + |
|||
"Local: \t\thttp://localhost:" + port + path + "/jmreport/list\n\t" + |
|||
"----------------------------------------------------------"); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,18 @@ |
|||
package com.jeecg.modules.jmreport.config; |
|||
|
|||
import org.springframework.context.annotation.Configuration; |
|||
import org.springframework.web.servlet.config.annotation.CorsRegistry; |
|||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
|||
|
|||
@Configuration |
|||
public class CustomCorsConfiguration implements WebMvcConfigurer { |
|||
@Override |
|||
public void addCorsMappings(CorsRegistry registry) { |
|||
registry.addMapping("/**") // 所有接口
|
|||
.allowCredentials(true) // 是否发送 Cookie
|
|||
.allowedOriginPatterns("*") // 支持域
|
|||
.allowedMethods(new String[]{"GET", "POST", "PUT", "DELETE"}) // 支持方法
|
|||
.allowedHeaders("*") |
|||
.exposedHeaders("*"); |
|||
} |
|||
} |
@ -0,0 +1,93 @@ |
|||
package com.jeecg.modules.jmreport.config; |
|||
|
|||
import org.jeecg.modules.jmreport.api.JmReportTokenServiceI; |
|||
import org.springframework.http.HttpHeaders; |
|||
import org.springframework.stereotype.Component; |
|||
import javax.servlet.http.HttpServletRequest; |
|||
|
|||
/** |
|||
* 自定义积木报表鉴权(如果不进行自定义,则所有请求不做权限控制) |
|||
* 1.自定义获取登录token |
|||
* 2.自定义获取登录用户 |
|||
*/ |
|||
@Component |
|||
public class JimuReportTokenService implements JmReportTokenServiceI { |
|||
|
|||
/** |
|||
* 通过请求获取Token |
|||
* @param request |
|||
* @return |
|||
*/ |
|||
@Override |
|||
public String getToken(HttpServletRequest request) { |
|||
//System.out.println("---------call---------getToken-----------------------");
|
|||
//return TokenUtils.getTokenByRequest(request);
|
|||
return "123456"; |
|||
} |
|||
|
|||
/** |
|||
* 自定义获取租户 |
|||
* |
|||
* @return |
|||
*/ |
|||
@Override |
|||
public String getTenantId() { |
|||
// String headerTenantId = null;
|
|||
// HttpServletRequest request = JimuSpringContextUtils.getHttpServletRequest();
|
|||
// if (request != null) {
|
|||
// headerTenantId = request.getHeader(JmConst.HEADER_TENANT_ID);
|
|||
// if(OkConvertUtils.isEmpty(headerTenantId)){
|
|||
// headerTenantId = request.getParameter(JmConst.TENANT_ID);
|
|||
// }
|
|||
// }
|
|||
// return headerTenantId;
|
|||
return "1"; |
|||
} |
|||
|
|||
|
|||
/** |
|||
* 通过Token获取登录人用户名 |
|||
* @param token |
|||
* @return |
|||
*/ |
|||
@Override |
|||
public String getUsername(String token) { |
|||
// return JwtUtil.getUsername(token);
|
|||
return "admin"; |
|||
} |
|||
|
|||
/** |
|||
* 自定义用户拥有的角色 |
|||
* |
|||
* @param token |
|||
* @return |
|||
*/ |
|||
@Override |
|||
public String[] getRoles(String token) { |
|||
return new String[]{"admin"}; |
|||
} |
|||
|
|||
/** |
|||
* Token校验 |
|||
* @param token |
|||
* @return |
|||
*/ |
|||
@Override |
|||
public Boolean verifyToken(String token) { |
|||
System.out.println("---------verify-----Token---------------"); |
|||
//return TokenUtils.verifyToken(token, sysBaseAPI, redisUtil);
|
|||
return true; |
|||
} |
|||
|
|||
/** |
|||
* 自定义请求头 |
|||
* @return |
|||
*/ |
|||
@Override |
|||
public HttpHeaders customApiHeader() { |
|||
HttpHeaders header = new HttpHeaders(); |
|||
header.add("custom-header1", "Please set a custom value 1"); |
|||
header.add("token", "token value 2"); |
|||
return header; |
|||
} |
|||
} |
@ -0,0 +1,21 @@ |
|||
package com.jeecg.modules.jmreport.controller; |
|||
|
|||
import org.slf4j.Logger; |
|||
import org.slf4j.LoggerFactory; |
|||
import org.springframework.stereotype.Controller; |
|||
import org.springframework.ui.Model; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
|
|||
/** |
|||
* 积木报表-设置默认首页跳转 |
|||
*/ |
|||
@Controller |
|||
public class IndexController { |
|||
private Logger logger = LoggerFactory.getLogger(IndexController.class); |
|||
|
|||
@GetMapping("/") |
|||
public String index(Model model) { |
|||
model.addAttribute("name", "jimureport"); |
|||
return "jmreport/list"; // 视图重定向 - 跳转
|
|||
} |
|||
} |
@ -0,0 +1,57 @@ |
|||
package com.jeecg.modules.jmreport.controller; |
|||
|
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.jdbc.core.JdbcTemplate; |
|||
import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RequestMethod; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
import javax.servlet.http.HttpServletRequest; |
|||
import java.util.Map; |
|||
|
|||
@RestController |
|||
@RequestMapping |
|||
public class TestController { |
|||
@Autowired |
|||
private JdbcTemplate jdbcTemplate; |
|||
@Autowired |
|||
private NamedParameterJdbcTemplate namedParameterJdbcTemplate; |
|||
|
|||
|
|||
@RequestMapping(value = "/test/list", method = RequestMethod.GET) |
|||
public void queryPageList(HttpServletRequest req) { |
|||
System.out.println("getMaxRows="+jdbcTemplate.getMaxRows()); |
|||
System.out.println("getCacheLimit="+namedParameterJdbcTemplate.getCacheLimit()); |
|||
} |
|||
|
|||
@RequestMapping(value = "/jimureport/test/getOne", method = RequestMethod.GET) |
|||
public Map getOne(HttpServletRequest req) { |
|||
return null; |
|||
} |
|||
|
|||
/** |
|||
* API示例接口 |
|||
* |
|||
* @param req |
|||
* @return |
|||
*/ |
|||
@RequestMapping(value = "/jimureport/test/getList", method = RequestMethod.GET) |
|||
public String getList(HttpServletRequest req) { |
|||
String json = "{\n" + |
|||
"\t\"data\": [{\n" + |
|||
"\t\t\"ctotal\": \"125箱\",\n" + |
|||
"\t\t\"cname\": \"牛奶0\",\n" + |
|||
"\t\t\"cprice\": \"56\",\n" + |
|||
"\t\t\"riqi\": \"2021年08月11日\",\n" + |
|||
"\t\t\"id\": 100,\n" + |
|||
"\t\t\"dtotal\": \"1256箱\",\n" + |
|||
"\t\t\"tp\": \"7000\",\n" + |
|||
"\t\t\"ztotal\": \"589箱\",\n" + |
|||
"\t\t\"cnum\": \"每箱12瓶\",\n" + |
|||
"\t\t\"dId\": \"1\"\n" + |
|||
"\t}]\n" + |
|||
"}"; |
|||
return json; |
|||
} |
|||
|
|||
} |
@ -0,0 +1,89 @@ |
|||
package com.jeecg.modules.jmreport.testdb; |
|||
|
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.jeecg.modules.jmreport.desreport.model.JmPage; |
|||
import org.jeecg.modules.jmreport.api.data.IDataSetFactory; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
import java.util.ArrayList; |
|||
import java.util.HashMap; |
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
/** |
|||
* @author qinfeng |
|||
*/ |
|||
@Slf4j |
|||
@Component("testDataJavaBean") |
|||
public class TestRpSpringBean implements IDataSetFactory { |
|||
|
|||
/** |
|||
* 不分页时返回list |
|||
* @param param 参数 包括浏览器地址栏 和 查询条件 |
|||
* @return |
|||
*/ |
|||
@Override |
|||
public List<Map<String, Object>> createData(Map<String, Object> param) { |
|||
log.info(" 自定义javabean,无分页 :" + param); |
|||
List<Map<String, Object>> ls = new ArrayList<>(); |
|||
Map<String, Object> obj2 = new HashMap<>(); |
|||
obj2.put("name", "张三"); |
|||
obj2.put("age", "14"); |
|||
ls.add(obj2); |
|||
|
|||
Map<String, Object> obj3 = new HashMap<>(); |
|||
obj3.put("name", "李四"); |
|||
obj3.put("age", "15"); |
|||
ls.add(obj3); |
|||
|
|||
Map<String, Object> obj4 = new HashMap<>(); |
|||
obj4.put("name", "王五"); |
|||
obj4.put("age", "16"); |
|||
ls.add(obj4); |
|||
|
|||
return ls; |
|||
} |
|||
|
|||
/** |
|||
* 分页时返回 JmPage 并且参数param里会传入pageNo, pageSize |
|||
* @param param 参数 包括浏览器地址栏 和 查询条件 |
|||
* @return |
|||
*/ |
|||
@Override |
|||
public JmPage createPageData(Map<String, Object> param) { |
|||
//默认必须有分页参数 pageSize
|
|||
if(!param.containsKey("pageSize")){ |
|||
param.put("pageSize",1); |
|||
} |
|||
|
|||
log.info(" 自定义javabean,有分页 :" + param); |
|||
|
|||
JmPage page = new JmPage(); |
|||
List<Map<String, Object>> ls = new ArrayList<>(); |
|||
int pageSize = Integer.parseInt(param.get("pageSize").toString()); |
|||
|
|||
Map<String, Object> obj2 = new HashMap<>(); |
|||
obj2.put("name", "张三"); |
|||
obj2.put("age", "14"); |
|||
obj2.put("sex", "1"); |
|||
ls.add(obj2); |
|||
|
|||
Map<String, Object> obj3 = new HashMap<>(); |
|||
obj3.put("name", "李四"); |
|||
obj3.put("age", "15"); |
|||
obj2.put("sex", "2"); |
|||
ls.add(obj3); |
|||
|
|||
Map<String, Object> obj4 = new HashMap<>(); |
|||
obj4.put("name", "王五"); |
|||
obj4.put("age", "16"); |
|||
obj2.put("sex", "2"); |
|||
ls.add(obj4); |
|||
|
|||
//以下参数均需设置
|
|||
page.setPageSize(pageSize); |
|||
page.setTotal(20); |
|||
page.setRecords(ls); |
|||
return page; |
|||
} |
|||
} |
@ -0,0 +1,56 @@ |
|||
server: |
|||
port: 7202 |
|||
spring: |
|||
#数据库 |
|||
datasource: |
|||
url: jdbc:mysql://${MYSQL-HOST:127.0.0.1}:${MYSQL-PORT:3306}/${MYSQL-DB:jimureport}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai |
|||
username: root |
|||
password: root |
|||
driver-class-name: com.mysql.cj.jdbc.Driver |
|||
#持久层框架 |
|||
minidao: |
|||
base-package: org.jeecg.modules.jmreport.* |
|||
jeecg: |
|||
# local|minio|alioss |
|||
uploadType: local |
|||
# local |
|||
path: |
|||
#文件路径 |
|||
upload: /opt/upload |
|||
# alioss |
|||
oss: |
|||
endpoint: ?? |
|||
accessKey: ?? |
|||
secretKey: ?? |
|||
bucketName: jimureport |
|||
# minio |
|||
minio: |
|||
minio_url: http://minio.jeecg.com |
|||
minio_name: ?? |
|||
minio_pass: ?? |
|||
bucketName: ?? |
|||
#大屏报表参数设置 |
|||
jmreport: |
|||
#多租户模式,默认值为空(created:按照创建人隔离、tenant:按照租户隔离) |
|||
saasMode: |
|||
# 平台上线安全配置 |
|||
firewall: |
|||
# 数据源安全 (开启后,不允许使用平台数据源、SQL解析加签并且不允许查询数据库) |
|||
dataSourceSafe: false |
|||
# 低代码开发模式(dev:开发模式,prod:发布模式—关闭在线报表设计功能,分配角色admin、lowdeveloper可放开限制) |
|||
lowCodeMode: dev |
|||
# 展示列数 |
|||
col: 100 |
|||
# 展示行数 |
|||
row: 200 |
|||
#自定义API接口的前缀 #{api_base_path}和#{domainURL}的值 |
|||
apiBasePath: http://192.168.1.11:8085 |
|||
pageSize: |
|||
- 10 |
|||
- 20 |
|||
- 30 |
|||
- 40 |
|||
#输出sql日志 |
|||
logging: |
|||
level: |
|||
org.jeecg.modules.jmreport: info |
@ -0,0 +1,56 @@ |
|||
server: |
|||
port: 7202 |
|||
spring: |
|||
#数据库 |
|||
datasource: |
|||
url: jdbc:mysql://${MYSQL-HOST:127.0.0.1}:${MYSQL-PORT:3306}/${MYSQL-DB:jimureport}?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai |
|||
username: root |
|||
password: 1LAiGz$t1*Iw |
|||
driver-class-name: com.mysql.cj.jdbc.Driver |
|||
#持久层框架 |
|||
minidao: |
|||
base-package: org.jeecg.modules.jmreport.* |
|||
jeecg: |
|||
# local|minio|alioss |
|||
uploadType: local |
|||
# local |
|||
path: |
|||
#文件路径 |
|||
upload: /opt/upload |
|||
# alioss |
|||
oss: |
|||
endpoint: ?? |
|||
accessKey: ?? |
|||
secretKey: ?? |
|||
bucketName: jimureport |
|||
# minio |
|||
minio: |
|||
minio_url: http://minio.jeecg.com |
|||
minio_name: ?? |
|||
minio_pass: ?? |
|||
bucketName: ?? |
|||
#大屏报表参数设置 |
|||
jmreport: |
|||
#多租户模式,默认值为空(created:按照创建人隔离、tenant:按照租户隔离) |
|||
saasMode: created |
|||
# 平台上线安全配置 |
|||
firewall: |
|||
# 数据源安全 (开启后,不允许使用平台数据源、SQL解析加签并且不允许查询数据库) |
|||
dataSourceSafe: true |
|||
# 低代码开发模式(dev:开发模式,prod:发布模式—关闭在线报表设计功能,分配角色admin、lowdeveloper可放开限制) |
|||
lowCodeMode: prod |
|||
# 展示列数 |
|||
col: 100 |
|||
# 展示行数 |
|||
row: 200 |
|||
#自定义API接口的前缀 #{api_base_path}和#{domainURL}的值 |
|||
apiBasePath: http://127.0.0.1:7201 |
|||
pageSize: |
|||
- 10 |
|||
- 20 |
|||
- 30 |
|||
- 40 |
|||
#输出sql日志 |
|||
logging: |
|||
level: |
|||
org.jeecg.modules.jmreport: info |
@ -0,0 +1,3 @@ |
|||
spring: |
|||
profiles: |
|||
active: dev |
@ -0,0 +1,77 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<configuration debug="false"> |
|||
<!--定义日志文件的存储地址 --> |
|||
<property name="LOG_HOME" value="../logs" /> |
|||
|
|||
<!--<property name="COLOR_PATTERN" value="%black(%contextName-) %red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta( %replace(%caller{1}){'\t|Caller.{1}0|\r\n', ''})- %gray(%msg%xEx%n)" />--> |
|||
<!-- 控制台输出 --> |
|||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> |
|||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
|||
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 |
|||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n</pattern>--> |
|||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %highlight(%-5level) %cyan(%logger{50}:%L) - %msg%n</pattern> |
|||
</encoder> |
|||
</appender> |
|||
|
|||
<!-- 按照每天生成日志文件 --> |
|||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
|||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |
|||
<!--日志文件输出的文件名 --> |
|||
<FileNamePattern>${LOG_HOME}/jimureport-%d{yyyy-MM-dd}.%i.log</FileNamePattern> |
|||
<!--日志文件保留天数 --> |
|||
<MaxHistory>30</MaxHistory> |
|||
<maxFileSize>10MB</maxFileSize> |
|||
</rollingPolicy> |
|||
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> |
|||
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --> |
|||
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:%L - %msg%n</pattern> |
|||
</encoder> |
|||
</appender> |
|||
|
|||
<!-- 生成 error html格式日志开始 --> |
|||
<appender name="HTML" class="ch.qos.logback.core.FileAppender"> |
|||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter"> |
|||
<!--设置日志级别,过滤掉info日志,只输入error日志--> |
|||
<level>ERROR</level> |
|||
</filter> |
|||
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"> |
|||
<layout class="ch.qos.logback.classic.html.HTMLLayout"> |
|||
<pattern>%p%d%msg%M%F{32}%L</pattern> |
|||
</layout> |
|||
</encoder> |
|||
<file>${LOG_HOME}/error-log.html</file> |
|||
</appender> |
|||
<!-- 生成 error html格式日志结束 --> |
|||
|
|||
<!-- 每天生成一个html格式的日志开始 --> |
|||
<appender name="FILE_HTML" class="ch.qos.logback.core.rolling.RollingFileAppender"> |
|||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> |
|||
<!--日志文件输出的文件名 --> |
|||
<FileNamePattern>${LOG_HOME}/jimureport-%d{yyyy-MM-dd}.%i.html</FileNamePattern> |
|||
<!--日志文件保留天数 --> |
|||
<MaxHistory>30</MaxHistory> |
|||
<MaxFileSize>10MB</MaxFileSize> |
|||
</rollingPolicy> |
|||
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder"> |
|||
<layout class="ch.qos.logback.classic.html.HTMLLayout"> |
|||
<pattern>%p%d%msg%M%F{32}%L</pattern> |
|||
</layout> |
|||
</encoder> |
|||
</appender> |
|||
<!-- 每天生成一个html格式的日志结束 --> |
|||
|
|||
<!--myibatis log configure --> |
|||
<logger name="com.apache.ibatis" level="TRACE" /> |
|||
<logger name="java.sql.Connection" level="DEBUG" /> |
|||
<logger name="java.sql.Statement" level="DEBUG" /> |
|||
<logger name="java.sql.PreparedStatement" level="DEBUG" /> |
|||
|
|||
<!-- 日志输出级别 --> |
|||
<root level="INFO"> |
|||
<appender-ref ref="STDOUT" /> |
|||
<appender-ref ref="FILE" /> |
|||
<!-- <appender-ref ref="HTML" /> |
|||
<appender-ref ref="FILE_HTML" /> --> |
|||
</root> |
|||
|
|||
</configuration> |
Loading…
Reference in new issue