Browse Source

基础框架发布: 8.2.40

1. 修复数据导出的bug

前端核心发布: 8.2.133
  1. 修改客户端请求超时时间为 5 分钟
  1. 增加统一的错误处理,如果服务端返回的错误没找到国际化消息,则显示 java.lang.Exception 对应的国际化消息
main
wangshaoping 1 month ago
parent
commit
e8ae4fb2e9
  1. 7
      io.sc.platform.core.frontend/src/platform/plugin/manager/ServerExceptionHandler.ts
  2. 1
      io.sc.platform.core/src/main/java/io/sc/platform/core/ApplicationLauncher.java
  3. 10
      io.sc.platform.core/src/main/resources/io/sc/platform/core/config/logback-spring.xml
  4. 1
      io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/exception.properties
  5. 1
      io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/exception_tw_CN.properties
  6. 1
      io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/exception_zh_CN.properties
  7. 1
      io.sc.platform.developer.doc/asciidoc/9999-appendix/appendix.adoc
  8. 4
      io.sc.platform.developer.doc/asciidoc/9999-appendix/sql/sql.adoc
  9. BIN
      io.sc.platform.developer.doc/asciidoc/resources/images/9999-appendix/sql/sql-join.png
  10. 11
      io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/CsvExporter.java
  11. 5
      io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/PluginExporter.java
  12. 6
      io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/SchemaExporter.java
  13. 2
      io.sc.platform.mvc/src/main/resources/templates/configure.js

7
io.sc.platform.core.frontend/src/platform/plugin/manager/ServerExceptionHandler.ts

@ -24,7 +24,12 @@ class ServerExceptionHandler {
}
public static handle(error: ResponseErrorType) {
NotifyManager.error(i18n.global.t(error?.errorMessageI18nKey));
const message = i18n.global.t(error?.errorMessageI18nKey);
if (error?.errorMessageI18nKey === message) {
NotifyManager.error(i18n.global.t('java.lang.Exception'));
} else {
NotifyManager.error(message);
}
}
public static getError(error: any): ResponseErrorType {

1
io.sc.platform.core/src/main/java/io/sc/platform/core/ApplicationLauncher.java

@ -32,7 +32,6 @@ public class ApplicationLauncher {
private static KeepApplicationNotCloseThread notCloseThread;
private ApplicationLauncher(){
}
public static ConfigurableApplicationContext run(Class<?> primarySource, String... args) throws IOException {

10
io.sc.platform.core/src/main/resources/io/sc/platform/core/config/logback-spring.xml

@ -27,7 +27,7 @@
<file>${homedir}/logs/log.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${homedir}/logs/log.%d.%i.log</fileNamePattern>
<maxHistory>30</maxHistory>
<maxHistory>180</maxHistory>
<maxFileSize>100MB</maxFileSize>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
@ -41,7 +41,7 @@
<file>${homedir}/logs/debug.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${homedir}/logs/debug.%d.%i.log</fileNamePattern>
<maxHistory>30</maxHistory>
<maxHistory>180</maxHistory>
<maxFileSize>100MB</maxFileSize>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
@ -57,7 +57,7 @@
<file>${homedir}/logs/info.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${homedir}/logs/info.%d.%i.log</fileNamePattern>
<maxHistory>30</maxHistory>
<maxHistory>180</maxHistory>
<maxFileSize>100MB</maxFileSize>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
@ -73,7 +73,7 @@
<file>${homedir}/logs/warn.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${homedir}/logs/warn.%d.%i.log</fileNamePattern>
<maxHistory>30</maxHistory>
<maxHistory>180</maxHistory>
<maxFileSize>100MB</maxFileSize>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
@ -89,7 +89,7 @@
<file>${homedir}/logs/error.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${homedir}/logs/error.%d.%i.log</fileNamePattern>
<maxHistory>30</maxHistory>
<maxHistory>180</maxHistory>
<maxFileSize>100MB</maxFileSize>
</rollingPolicy>
<filter class="ch.qos.logback.classic.filter.LevelFilter">

1
io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/exception.properties

@ -1,3 +1,4 @@
java.lang.Exception=Server Error\uFF01 Please try again.
io.sc.platform.core.response.ValidateException=Request Parameter Validate Error
io.sc.platform.core.exception.PasswordStrengthException=Password must contain uppercase, lowercase, numbers, special characters, and must be greater than or equal to {0} in length.
io.sc.platform.core.exception.LicenseInvalidatedException=License Invalidated!

1
io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/exception_tw_CN.properties

@ -1,3 +1,4 @@
java.lang.Exception=\u670D\u52D9\u5668\u932F\u8AA4\uFF01\u8ACB\u91CD\u65B0\u5617\u8A66\u4E00\u6B21.
io.sc.platform.core.response.ValidateException=\u8ACB\u6C42\u53C3\u6578\u9A57\u8B49\u932F\u8AA4
io.sc.platform.core.exception.PasswordStrengthException=\u5BC6\u78BC\u5FC5\u9808\u5305\u542B:\u5927\u5BEB\u5B57\u6BCD\u3001\u5C0F\u5BEB\u5B57\u6BCD\u3001\u6578\u5B57\u3001\u7279\u6B8A\u5B57\u7B26, \u4E14\u9577\u5EA6\u5FC5\u9808\u5927\u65BC\u7B49\u65BC {0} \u4E2A\u3002
io.sc.platform.core.exception.LicenseInvalidatedException=\u8A31\u53EF\u8B49\u5931\u6548!

1
io.sc.platform.core/src/main/resources/io/sc/platform/core/i18n/exception_zh_CN.properties

@ -1,3 +1,4 @@
java.lang.Exception=\u670D\u52A1\u5668\u9519\u8BEF\uFF01\u8BF7\u91CD\u65B0\u5C1D\u8BD5\u4E00\u6B21.
io.sc.platform.core.response.ValidateException=\u8BF7\u6C42\u53C2\u6570\u9A8C\u8BC1\u9519\u8BEF
io.sc.platform.core.exception.PasswordStrengthException=\u5BC6\u7801\u5FC5\u987B\u5305\u542B:\u5927\u5199\u5B57\u6BCD\u3001\u5C0F\u5199\u5B57\u6BCD\u3001\u6570\u5B57\u3001\u7279\u6B8A\u5B57\u7B26, \u4E14\u957F\u5EA6\u5FC5\u987B\u5927\u4E8E\u7B49\u4E8E {0} \u4E2A\u3002
io.sc.platform.core.exception.LicenseInvalidatedException=\u8BB8\u53EF\u8BC1\u5931\u6548!

1
io.sc.platform.developer.doc/asciidoc/9999-appendix/appendix.adoc

@ -7,6 +7,7 @@ include::docker-compose/docker-compose.adoc[]
include::docker/docker.adoc[]
include::idea/idea.adoc[]
include::tools/tools.adoc[]
include::sql/sql.adoc[]
include::javascript/javascript.adoc[]
include::frontend/frontend.adoc[]
include::mac/mac.adoc[]

4
io.sc.platform.developer.doc/asciidoc/9999-appendix/sql/sql.adoc

@ -0,0 +1,4 @@
[appendix]
= SQL
== join
image::9999-appendix/sql/sql-join.png[]

BIN
io.sc.platform.developer.doc/asciidoc/resources/images/9999-appendix/sql/sql-join.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

11
io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/CsvExporter.java

@ -9,6 +9,7 @@ import io.sc.platform.jdbc.meta.support.Column;
import io.sc.platform.jdbc.meta.support.Table;
import io.sc.platform.jdbc.util.SqlTypeUtil;
import io.sc.platform.util.FileUtil;
import io.sc.platform.util.OsUtil;
import io.sc.platform.util.WriterUtil;
import liquibase.repackaged.com.opencsv.CSVWriterBuilder;
import liquibase.repackaged.com.opencsv.ICSVWriter;
@ -18,9 +19,8 @@ import org.springframework.jdbc.datasource.DataSourceUtils;
import org.springframework.util.StringUtils;
import javax.sql.DataSource;
import java.io.BufferedWriter;
import java.io.File;
import java.io.IOException;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.sql.*;
import java.util.ArrayList;
import java.util.Base64;
@ -32,7 +32,9 @@ public class CsvExporter {
public void export(String outputBasePath,DataSource dataSource, DataExportConfigure configure, ProgressInfo progressInfo, Locale locale) throws Exception{
String outputDir =outputBasePath + "/src/main/resources/liquibase/data";
FileUtil.deldirs(outputDir);
if(!OsUtil.isWindows()){
FileUtil.deldirs(outputDir);
}
new File(outputDir).mkdirs();
if(!configure.getIsExportDataCsvFile()) {
@ -60,6 +62,7 @@ public class CsvExporter {
private void writeTable(String outputDir,DataSource dataSource,Table table,DataExportConfigure configure,ProgressInfo progressInfo, Locale locale) throws Exception{
BufferedWriter writer = WriterUtil.bufferedWriter(outputDir + "/" + table.getName() + ".csv");
//Writer writer =new OutputStreamWriter(new FileOutputStream(outputDir + "/" + table.getName() + ".csv"), StandardCharsets.UTF_8);
ICSVWriter csvWriter = new CSVWriterBuilder(writer).build();
//写入字段定义信息===============================================================================

5
io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/PluginExporter.java

@ -3,6 +3,7 @@ package io.sc.platform.jdbc.liquibase.exporter;
import io.sc.platform.core.support.ProgressInfo;
import io.sc.platform.jdbc.exporter.support.DataExportConfigure;
import io.sc.platform.util.FileUtil;
import io.sc.platform.util.OsUtil;
import javax.sql.DataSource;
import java.io.File;
@ -11,7 +12,9 @@ import java.util.Locale;
public class PluginExporter {
public void export(String outputBasePath, DataSource dataSource, DataExportConfigure configure, ProgressInfo progressInfo, Locale locale) throws Exception {
String outputDir =outputBasePath + "/src/main/resources/META-INF/platform/plugins";
FileUtil.deldirs(outputDir);
if(!OsUtil.isWindows()){
FileUtil.deldirs(outputDir);
}
new File(outputDir).mkdirs();
if(!configure.getIsExportPlatformLiquibasePluginFile()){

6
io.sc.platform.jdbc.liquibase/src/main/java/io/sc/platform/jdbc/liquibase/exporter/SchemaExporter.java

@ -9,6 +9,8 @@ import io.sc.platform.jdbc.meta.support.Column;
import io.sc.platform.jdbc.meta.support.Index;
import io.sc.platform.jdbc.meta.support.Table;
import io.sc.platform.util.FileUtil;
import io.sc.platform.util.OsUtil;
import io.sc.platform.util.StringUtil;
import io.sc.platform.util.WriterUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -25,7 +27,9 @@ public class SchemaExporter {
public void export(String outputBasePath, DataSource dataSource, DataExportConfigure configure, ProgressInfo progressInfo, Locale locale) throws Exception{
String outputDir =outputBasePath + "/src/main/resources/liquibase/schema";
FileUtil.deldirs(outputDir);
if(!OsUtil.isWindows()){
FileUtil.deldirs(outputDir);
}
new File(outputDir).mkdirs();
if(!configure.getIsExportTableSchemaLiquibaseFile()) {

2
io.sc.platform.mvc/src/main/resources/templates/configure.js

@ -34,7 +34,7 @@ window.APP.configure = {
// axios 配置
axios : {
baseURL: '',
timeout: 1000 * 60,
timeout: 1000 * 60 * 5,
crossdomain: true
}
};
Loading…
Cancel
Save