diff --git a/README.md b/README.md
index 12c3980b2c..f5a37f3bab 100644
--- a/README.md
+++ b/README.md
@@ -24,6 +24,20 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数
- 秒级响应:集成 Apache Doris,超大数据量下秒级查询返回延时;
- 安全分享:支持多种数据分享方式,确保数据安全。
+### DataEase 已支持的数据源:
+
+- Excel
+- MySQL
+- Oracle
+- SQL Server
+- PostgreSQL
+- Elasticsearch
+- MariaDB
+- Apache Doris
+- ClickHouse
+
+> 更多数据源支持持续增加中...
+
## UI 展示

diff --git a/backend/pom.xml b/backend/pom.xml
index 9a85199e0a..ae0ecab957 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -10,6 +10,7 @@
4.0.0
backend
+
UTF-8
@@ -260,11 +261,16 @@
**/*
- false
+ true
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 3.1.0
+
org.springframework.boot
spring-boot-maven-plugin
diff --git a/backend/src/main/java/io/dataease/auth/api/dto/LoginDto.java b/backend/src/main/java/io/dataease/auth/api/dto/LoginDto.java
index 62af1ce003..20bae525ef 100644
--- a/backend/src/main/java/io/dataease/auth/api/dto/LoginDto.java
+++ b/backend/src/main/java/io/dataease/auth/api/dto/LoginDto.java
@@ -19,6 +19,6 @@ public class LoginDto implements Serializable {
* 1:ldap登录
* 2:单点登录
*/
- @ApiModelProperty(value = "登录方式", required = true, allowableValues = "0, 1, 2")
+ @ApiModelProperty(value = "登录方式{0:普通登录, 1:ldap登录}", required = true, allowableValues = "0, 1")
private int loginType;
}
diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java b/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java
index 0f866bd233..d44ccbd1ce 100644
--- a/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java
+++ b/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java
@@ -1,9 +1,6 @@
package io.dataease.commons.utils;
import com.google.gson.Gson;
import io.dataease.datasource.dto.TableFiled;
-import org.apache.poi.hssf.usermodel.HSSFCell;
-
-import java.io.FileInputStream;
import java.io.InputStream;
import java.util.List;
@@ -70,10 +67,10 @@ public class ExcelReaderUtil {
}
}
- public static void main(String[] args) throws Exception {
+ /* public static void main(String[] args) throws Exception {
String file ="各省市GDP-表格_加内容.xlsx";
ExcelReaderUtil.readExcel(file, new FileInputStream("/Users/taojinlong/Desktop/" + file));
- }
+ } */
}
diff --git a/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java b/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java
index e696452ad3..ffd47c558f 100644
--- a/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java
+++ b/backend/src/main/java/io/dataease/config/Knife4jConfiguration.java
@@ -1,9 +1,9 @@
package io.dataease.config;
import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;
-import io.dataease.commons.condition.LicStatusCondition;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.beans.factory.config.BeanPostProcessor;
import org.springframework.context.annotation.*;
import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
import springfox.documentation.builders.*;
@@ -12,19 +12,17 @@ import springfox.documentation.service.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
-
-import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@EnableOpenApi
@Configuration
@Import(BeanValidatorPluginsConfiguration.class)
-public class Knife4jConfiguration {
+public class Knife4jConfiguration implements BeanPostProcessor{
private final OpenApiExtensionResolver openApiExtensionResolver;
- @Value("${app.version}")
+ @Value("${version}")
private String version;
diff --git a/backend/src/main/java/io/dataease/controller/IndexController.java b/backend/src/main/java/io/dataease/controller/IndexController.java
index 075555618e..38a716f0c0 100644
--- a/backend/src/main/java/io/dataease/controller/IndexController.java
+++ b/backend/src/main/java/io/dataease/controller/IndexController.java
@@ -43,8 +43,8 @@ public class IndexController {
return "doc.html";
default:
// DataEaseException.throwException("Invalid License.");
- return "nolic.html";
- // return "doc.html";
+ //return "nolic.html";
+ return "doc.html";
}
// return "index.html";
}
diff --git a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java
index fc8978f56c..ff0706a6c5 100644
--- a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java
+++ b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java
@@ -10,7 +10,6 @@ import io.dataease.commons.utils.AuthUtils;
import io.dataease.commons.utils.PageUtils;
import io.dataease.commons.utils.Pager;
import io.dataease.controller.sys.base.BaseGridRequest;
-import io.dataease.controller.sys.request.LdapAddRequest;
import io.dataease.controller.sys.request.SysUserCreateRequest;
import io.dataease.controller.sys.request.SysUserPwdRequest;
import io.dataease.controller.sys.request.SysUserStateRequest;
@@ -130,11 +129,11 @@ public class SysUserController {
}
- @ApiOperation("同步用户")
+ /* @ApiOperation("同步用户")
@PostMapping("/sync")
public void importLdap(@RequestBody LdapAddRequest request) {
sysUserService.saveLdapUsers(request);
- }
+ } */
@ApiOperation("已同步用户")
@PostMapping("/existLdapUsers")
diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties
index d4f4111a23..c9076ac69d 100644
--- a/backend/src/main/resources/application.properties
+++ b/backend/src/main/resources/application.properties
@@ -34,7 +34,7 @@ knife4j.setting.enableSearch=false
knife4j.setting.enableOpenApi=false
knife4j.setting.enableAfterScript=false
-app.version=@project.version@
+version=@project.version@
logging.file.path=/opt/dataease/logs/${spring.application.name}
diff --git a/frontend/src/components/canvas/components/Editor/Hyperlinks.vue b/frontend/src/components/canvas/components/Editor/Hyperlinks.vue
new file mode 100644
index 0000000000..45da866b42
--- /dev/null
+++ b/frontend/src/components/canvas/components/Editor/Hyperlinks.vue
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+ Tips:{{ $t('panel.link_open_tips') }}
+
+
+
+
+ {{ $t('panel.new_window') }}
+ {{ $t('panel.now_window') }}
+
+
+
+
+
+
+ {{ $t('panel.confirm') }}
+ {{ $t('panel.cancel') }}
+
+
+
+
+
+
+
+
+
+
diff --git a/frontend/src/components/canvas/components/TextAttr.vue b/frontend/src/components/canvas/components/TextAttr.vue
index 516070e87e..db382e2368 100644
--- a/frontend/src/components/canvas/components/TextAttr.vue
+++ b/frontend/src/components/canvas/components/TextAttr.vue
@@ -1,6 +1,6 @@
-