From 01beb0e385ad5ea959afc279a761f69b56609412 Mon Sep 17 00:00:00 2001
From: junjie
Date: Tue, 29 Jun 2021 17:59:59 +0800
Subject: [PATCH 01/33] =?UTF-8?q?fix:=20xPack=20SDK=20pom=E4=BE=9D?=
=?UTF-8?q?=E8=B5=96artifactId=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
backend/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/backend/pom.xml b/backend/pom.xml
index 092853654e..337278bc61 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -355,7 +355,7 @@
https://github.com/dataease/dataease-plugins-->
io.dataease
- dataease-plugin-xpack
+ dataease-plugin-interface
1.0
From 9f0aa25a4ce950cb9e180e601ef57b2d909c4ff9 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Tue, 6 Jul 2021 16:37:27 +0800
Subject: [PATCH 02/33] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 517a23c13c..ff46d90ff3 100644
--- a/README.md
+++ b/README.md
@@ -59,7 +59,7 @@ curl -sSL https://github.com/dataease/dataease/releases/latest/download/quick_st
## 技术栈
- 后端:[Spring Boot](https://spring.io/projects/spring-boot)
-- 前端:[Vue.js](https://vuejs.org/)、[Element](https://element.eleme.cn/)
+- 前端:[Vue.js](https://vuejs.org/)、[Element](https://element.eleme.cn/)、[Apache ECharts](https://github.com/apache/echarts)
- 中间件:[MySQL](https://www.mysql.com/)
- 数据处理:[Kettle](https://github.com/pentaho/pentaho-kettle)、[Apache Doris](https://github.com/apache/incubator-doris/)
- 基础设施:[Docker](https://www.docker.com/)
From 4d8bc72ec0deea0e5eb18640aa8ff0154de2404c Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Thu, 4 Nov 2021 10:34:37 +0800
Subject: [PATCH 03/33] Update README.md
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
与v1.4更新同步。
---
README.md | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index 4f18a29fa3..e193e14cba 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数
### DataEase 的功能:
- 图表展示:支持 PC 端、移动端及大屏;
-- 图表制作:支持丰富的图表类型(基于 Apache ECharts 实现)、支持拖拉拽方式快速制作仪表板;
+- 图表制作:支持丰富的图表类型(Apache ECharts / AntV)、支持拖拉拽方式快速制作仪表板;
- 数据引擎:支持直连模式、本地模式(基于 Apache Doris / Kettle 实现);
- 数据连接:支持关系型数据库、Excel 等文件、Hadoop 等大数据平台、NoSQL 等各种数据源。
@@ -35,6 +35,8 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数
- MariaDB
- Apache Doris
- ClickHouse
+- MongoDB
+- Amazon Redshift
> 更多数据源支持持续增加中...
@@ -73,7 +75,7 @@ curl -sSL https://github.com/dataease/dataease/releases/latest/download/quick_st
## 技术栈
- 后端:[Spring Boot](https://spring.io/projects/spring-boot)
-- 前端:[Vue.js](https://vuejs.org/)、[Element](https://element.eleme.cn/)、[Apache ECharts](https://github.com/apache/echarts)
+- 前端:[Vue.js](https://vuejs.org/)、[Element](https://element.eleme.cn/)、[Apache ECharts](https://github.com/apache/echarts)、[AntV](https://antv.vision/zh)
- 中间件:[MySQL](https://www.mysql.com/)
- 数据处理:[Kettle](https://github.com/pentaho/pentaho-kettle)、[Apache Doris](https://github.com/apache/incubator-doris/)
- 基础设施:[Docker](https://www.docker.com/)
From 64272a20241db55f67beb1f8e03b2891fb32c4c3 Mon Sep 17 00:00:00 2001
From: fit2cloudrd
Date: Mon, 6 Dec 2021 10:33:41 +0800
Subject: [PATCH 04/33] chore: Update issue templates
---
.github/ISSUE_TEMPLATE/bug---.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/ISSUE_TEMPLATE/bug---.md b/.github/ISSUE_TEMPLATE/bug---.md
index 8e60e11da7..b9b09510f6 100644
--- a/.github/ISSUE_TEMPLATE/bug---.md
+++ b/.github/ISSUE_TEMPLATE/bug---.md
@@ -3,7 +3,7 @@ name: Bug 提交
about: 提交产品缺陷帮助我们更好的改进
title: "[Bug]"
labels: 类型:bug
-assignees: tjlygdx
+assignees: BBchicken-9527, youliyuan-fit2cloud, zyyfit
---
From 67c80e746f5d3946a2affea266a5f8c0c07760c4 Mon Sep 17 00:00:00 2001
From: xuwei-fit2cloud
Date: Tue, 7 Dec 2021 11:14:06 +0800
Subject: [PATCH 05/33] =?UTF-8?q?build:=20=E5=A2=9E=E5=8A=A0issue=E5=A4=84?=
=?UTF-8?q?=E7=90=86action?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.github/workflows/issue-check-inactive.yml | 16 +++++++++
.github/workflows/issue-close-require.yml | 27 +++++++++++++++
.github/workflows/issue-comment.yml | 38 ++++++++++++++++++++++
.github/workflows/issue-inactive-alert.yml | 17 ++++++++++
.github/workflows/issue-open.yml | 16 +++++++++
.github/workflows/issue-recent-alert.yml | 17 ++++++++++
6 files changed, 131 insertions(+)
create mode 100644 .github/workflows/issue-check-inactive.yml
create mode 100644 .github/workflows/issue-close-require.yml
create mode 100644 .github/workflows/issue-comment.yml
create mode 100644 .github/workflows/issue-inactive-alert.yml
create mode 100644 .github/workflows/issue-open.yml
create mode 100644 .github/workflows/issue-recent-alert.yml
diff --git a/.github/workflows/issue-check-inactive.yml b/.github/workflows/issue-check-inactive.yml
new file mode 100644
index 0000000000..6ca5f9f3e8
--- /dev/null
+++ b/.github/workflows/issue-check-inactive.yml
@@ -0,0 +1,16 @@
+name: Issue Check Inactive
+
+on:
+ schedule:
+ - cron: "0 0 */15 * *"
+
+jobs:
+ issue-check-inactive:
+ runs-on: ubuntu-latest
+ steps:
+ - name: check-inactive
+ uses: actions-cool/issues-helper@v2
+ with:
+ actions: 'check-inactive'
+ inactive-label: 'Inactive'
+ inactive-day: 30
diff --git a/.github/workflows/issue-close-require.yml b/.github/workflows/issue-close-require.yml
new file mode 100644
index 0000000000..f9e692d2f3
--- /dev/null
+++ b/.github/workflows/issue-close-require.yml
@@ -0,0 +1,27 @@
+name: Issue Close Require
+
+on:
+ schedule:
+ - cron: "0 0 * * *"
+
+jobs:
+ issue-close-require:
+ runs-on: ubuntu-latest
+ steps:
+ - name: need reproduce
+ uses: actions-cool/issues-helper@v2
+ with:
+ actions: 'close-issues'
+ labels: '状态:待反馈'
+ inactive-day: 7
+ body: |
+ 由于该 issue 被标记为 状态:待反馈,却 7 天未收到回应。现关闭 issue,若有任何问题,可评论回复。
+ - name: needs more info
+ uses: actions-cool/issues-helper@v2
+ with:
+ actions: 'close-issues'
+ labels: 'needs-more-info'
+ inactive-day: 7
+ body: |
+ Since the issue was labeled with `needs-more-info`, but no response in 7 days. This issue will be closed. If you have any questions, you can comment and reply.
+
diff --git a/.github/workflows/issue-comment.yml b/.github/workflows/issue-comment.yml
new file mode 100644
index 0000000000..414cb42845
--- /dev/null
+++ b/.github/workflows/issue-comment.yml
@@ -0,0 +1,38 @@
+on:
+ issue_comment:
+ types: [created]
+
+name: Add issues workflow labels
+
+jobs:
+ add-label-if-is-author:
+ runs-on: ubuntu-latest
+ if: ${{ github.event.comment.pull_request.user.id == github.event.comment.user.id }} && ${{ !github.event.comment.pull_request.pull_request }}
+ steps:
+ - name: Add require handle label
+ uses: actions-cool/issues-helper@v2
+ with:
+ actions: 'add-labels'
+ labels: '状态:待处理'
+
+ - name: Remove require reply label
+ uses: actions-cool/issues-helper@v2
+ with:
+ actions: 'remove-labels'
+ labels: '状态:待反馈'
+
+ add-label-if-not-author:
+ runs-on: ubuntu-latest
+ if: ${{ github.event.comment.pull_request.user.id != github.event.comment.user.id }} && ${{ !github.event.comment.pull_request.pull_request }}
+ steps:
+ - name: Add require replay label
+ uses: actions-cool/issues-helper@v2
+ with:
+ actions: 'add-labels'
+ labels: '状态:待反馈'
+
+ - name: Remove require handle label
+ uses: actions-cool/issues-helper@v2
+ with:
+ actions: 'remove-labels'
+ labels: '状态:待处理'
diff --git a/.github/workflows/issue-inactive-alert.yml b/.github/workflows/issue-inactive-alert.yml
new file mode 100644
index 0000000000..bff516bbcd
--- /dev/null
+++ b/.github/workflows/issue-inactive-alert.yml
@@ -0,0 +1,17 @@
+on:
+ schedule:
+ - cron: "0 9 * * 1"
+
+name: Check inactive issues
+
+jobs:
+ check-inactive-issues:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check inactive issues and send msg
+ uses: jumpserver/action-issues-alert@master
+ with:
+ hook: ${{ secrets.WECHAT_GROUP_WEB_HOOK }}
+ type: inactive
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUBTOKEN }}
diff --git a/.github/workflows/issue-open.yml b/.github/workflows/issue-open.yml
new file mode 100644
index 0000000000..4d8bd425b7
--- /dev/null
+++ b/.github/workflows/issue-open.yml
@@ -0,0 +1,16 @@
+name: Issue Open Check
+
+on:
+ issues:
+ types: [opened]
+
+jobs:
+ issue-open-add-labels:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Add labels
+ uses: actions-cool/issues-helper@v2
+ if: ${{ !github.event.comment.pull_request.pull_request }}
+ with:
+ actions: 'add-labels'
+ labels: '状态:待处理'
diff --git a/.github/workflows/issue-recent-alert.yml b/.github/workflows/issue-recent-alert.yml
new file mode 100644
index 0000000000..1c751a820c
--- /dev/null
+++ b/.github/workflows/issue-recent-alert.yml
@@ -0,0 +1,17 @@
+on:
+ schedule:
+ - cron: "0 9 * * *"
+
+name: Check recent handle issues
+
+jobs:
+ check-recent-issues-not-handle:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Check recent issues and send msg
+ uses: jumpserver/action-issues-alert@master
+ with:
+ hook: ${{ secrets.WECHAT_GROUP_WEB_HOOK }}
+ type: recent
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUBTOKEN }}
From 121d05e772e8d5b6fe11649472b8cd84cb1b7015 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=80=81=E5=B9=BF?=
Date: Fri, 17 Dec 2021 10:20:43 +0800
Subject: [PATCH 06/33] Update issue-recent-alert.yml
---
.github/workflows/issue-recent-alert.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/issue-recent-alert.yml b/.github/workflows/issue-recent-alert.yml
index 1c751a820c..f0dca89426 100644
--- a/.github/workflows/issue-recent-alert.yml
+++ b/.github/workflows/issue-recent-alert.yml
@@ -1,6 +1,6 @@
on:
schedule:
- - cron: "0 9 * * *"
+ - cron: "0 1 * * *"
name: Check recent handle issues
From f5793ff9c7c65e81535d0438ff9e64e4cebbc55f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=80=81=E5=B9=BF?=
Date: Fri, 17 Dec 2021 10:22:37 +0800
Subject: [PATCH 07/33] Update issue-inactive-alert.yml
---
.github/workflows/issue-inactive-alert.yml | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/.github/workflows/issue-inactive-alert.yml b/.github/workflows/issue-inactive-alert.yml
index bff516bbcd..29e6fd41a3 100644
--- a/.github/workflows/issue-inactive-alert.yml
+++ b/.github/workflows/issue-inactive-alert.yml
@@ -1,17 +1,17 @@
on:
schedule:
- - cron: "0 9 * * 1"
+ - cron: "0 9 * * 1-5"
-name: Check inactive issues
+name: Check untimely handle issues
jobs:
- check-inactive-issues:
+ check-untimely-handle-issues:
runs-on: ubuntu-latest
steps:
- - name: Check inactive issues and send msg
+ - name: Check untimely issues and send msg
uses: jumpserver/action-issues-alert@master
with:
hook: ${{ secrets.WECHAT_GROUP_WEB_HOOK }}
- type: inactive
+ type: untimely
env:
GITHUB_TOKEN: ${{ secrets.GITHUBTOKEN }}
From 3fca79b5f5bb0ab5c9ac1f17904bb8d868489346 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=80=81=E5=B9=BF?=
Date: Fri, 17 Dec 2021 17:40:30 +0800
Subject: [PATCH 08/33] Update issue-comment.yml
---
.github/workflows/issue-comment.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/issue-comment.yml b/.github/workflows/issue-comment.yml
index 414cb42845..5388111d7c 100644
--- a/.github/workflows/issue-comment.yml
+++ b/.github/workflows/issue-comment.yml
@@ -7,7 +7,7 @@ name: Add issues workflow labels
jobs:
add-label-if-is-author:
runs-on: ubuntu-latest
- if: ${{ github.event.comment.pull_request.user.id == github.event.comment.user.id }} && ${{ !github.event.comment.pull_request.pull_request }}
+ if: (github.event.issue.user.id == github.event.comment.user.id) && !github.event.issue.pull_request && (github.event.issue.state == 'open')
steps:
- name: Add require handle label
uses: actions-cool/issues-helper@v2
@@ -23,7 +23,7 @@ jobs:
add-label-if-not-author:
runs-on: ubuntu-latest
- if: ${{ github.event.comment.pull_request.user.id != github.event.comment.user.id }} && ${{ !github.event.comment.pull_request.pull_request }}
+ if: (github.event.issue.user.id != github.event.comment.user.id) && !github.event.issue.pull_request && (github.event.issue.state == 'open')
steps:
- name: Add require replay label
uses: actions-cool/issues-helper@v2
From cfdc6e3507923db292a411a5d333f74ce1b8db3c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E8=80=81=E5=B9=BF?=
Date: Wed, 29 Dec 2021 10:20:14 +0800
Subject: [PATCH 09/33] Update issue-close-require.yml
---
.github/workflows/issue-close-require.yml | 14 +++-----------
1 file changed, 3 insertions(+), 11 deletions(-)
diff --git a/.github/workflows/issue-close-require.yml b/.github/workflows/issue-close-require.yml
index f9e692d2f3..431fbc75f8 100644
--- a/.github/workflows/issue-close-require.yml
+++ b/.github/workflows/issue-close-require.yml
@@ -13,15 +13,7 @@ jobs:
with:
actions: 'close-issues'
labels: '状态:待反馈'
- inactive-day: 7
+ inactive-day: 30
body: |
- 由于该 issue 被标记为 状态:待反馈,却 7 天未收到回应。现关闭 issue,若有任何问题,可评论回复。
- - name: needs more info
- uses: actions-cool/issues-helper@v2
- with:
- actions: 'close-issues'
- labels: 'needs-more-info'
- inactive-day: 7
- body: |
- Since the issue was labeled with `needs-more-info`, but no response in 7 days. This issue will be closed. If you have any questions, you can comment and reply.
-
+ 您超过 30 天未反馈信息,我们将关闭该 issue,如有需求您可以重新打开或者提交新的 issue。
+
From c1f1e131e3a10513d19a92119cf2e7436e064ec3 Mon Sep 17 00:00:00 2001
From: fit2cloudrd
Date: Tue, 4 Jan 2022 12:59:04 +0800
Subject: [PATCH 10/33] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 38366978b2..98b1c09958 100644
--- a/README.md
+++ b/README.md
@@ -83,7 +83,7 @@ curl -sSL https://github.com/dataease/dataease/releases/latest/download/quick_st
## License & Copyright
-Copyright (c) 2014-2021 飞致云 FIT2CLOUD, All rights reserved.
+Copyright (c) 2014-2022 飞致云 FIT2CLOUD, All rights reserved.
Licensed under The GNU General Public License version 3 (GPLv3) (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
From 533b62be8ca72b7acea071cb51f2459cff2454d3 Mon Sep 17 00:00:00 2001
From: fit2cloudrd
Date: Thu, 6 Jan 2022 12:08:55 +0800
Subject: [PATCH 11/33] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 98b1c09958..3c293c2ac4 100644
--- a/README.md
+++ b/README.md
@@ -51,7 +51,7 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数
## 在线体验
-- 环境地址:
+- 环境地址:
- 用户名:demo
- 密码:dataease
From 6e05c7c2329bc0cd62b8f5254c53b6d6c85e0c3c Mon Sep 17 00:00:00 2001
From: xuwei-fit2cloud
Date: Mon, 10 Jan 2022 15:47:01 +0800
Subject: [PATCH 12/33] Create SECURITY.md
---
SECURITY.md | 7 +++++++
1 file changed, 7 insertions(+)
create mode 100644 SECURITY.md
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 0000000000..9b06741865
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,7 @@
+# 安全说明
+
+如果你发现安全问题,请直接联系我们,我们携手让世界更好:
+
+- wei@fit2cloud.com
+- support@fit2cloud.com
+- 400-052-0755
From 7935a991ecdfc6c484dbce744ced8be9487c865e Mon Sep 17 00:00:00 2001
From: ready-research <72916209+ready-research@users.noreply.github.com>
Date: Sat, 15 Jan 2022 16:06:14 +0530
Subject: [PATCH 13/33] Update ZipUtils.java
Avoid Zip slip vulnerability
---
.../io/dataease/commons/utils/ZipUtils.java | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/backend/src/main/java/io/dataease/commons/utils/ZipUtils.java b/backend/src/main/java/io/dataease/commons/utils/ZipUtils.java
index 34c8549bdb..edcec34e1b 100644
--- a/backend/src/main/java/io/dataease/commons/utils/ZipUtils.java
+++ b/backend/src/main/java/io/dataease/commons/utils/ZipUtils.java
@@ -6,6 +6,8 @@ import java.util.zip.ZipEntry;
import java.util.zip.ZipException;
import java.util.zip.ZipFile;
import java.util.zip.ZipInputStream;
+import java.nio.file.Path;
+import java.nio.file.Paths;
public class ZipUtils {
@@ -29,7 +31,7 @@ public class ZipUtils {
ZipEntry ze = zis.getNextEntry();
while (ze != null) {
String fileName = ze.getName();
- File newFile = new File(outputFolder + File.separator + fileName);
+ File newFile = protectZipSlip(fileName, outputFolder);
//大部分网络上的源码,这里没有判断子目录
if (ze.isDirectory()) {
if (!newFile.mkdirs()) {
@@ -60,7 +62,7 @@ public class ZipUtils {
while (entry != null) {
- File file = new File(out, entry.getName());
+ File file = protectZipSlip(entry.getName(), out);
if (entry.isDirectory()) {
if (!file.mkdirs()) {
@@ -130,4 +132,17 @@ public class ZipUtils {
}
}
+ public static File protectZipSlip(String fileName, String destDir) throws IOException{
+ Path destPath = Paths.get(destDir);
+ Path resolvedDest = destPath.resolve(fileName);
+ Path normalizedPath = resolvedDest.normalize();
+
+ // checking whether zipEntry filename has changed the destination
+ if (!normalizedPath.startsWith(destDir)) {
+ throw new IOException("Malicious zip entry found: " + fileName);
+ }
+
+ File newFile = normalizedPath.toFile();
+ return newFile;
+ }
}
From 1e59c4a71bf63667386b23832eb456aff5a0a01c Mon Sep 17 00:00:00 2001
From: avanb
Date: Wed, 19 Jan 2022 18:50:41 +0800
Subject: [PATCH 14/33] =?UTF-8?q?refactor:=20=E5=8E=BB=E6=8E=89=E6=97=A0?=
=?UTF-8?q?=E7=94=A8=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/io/dataease/mobile/service/DirService.java | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/backend/src/main/java/io/dataease/mobile/service/DirService.java b/backend/src/main/java/io/dataease/mobile/service/DirService.java
index 8e69473f2a..79abaa2c7b 100644
--- a/backend/src/main/java/io/dataease/mobile/service/DirService.java
+++ b/backend/src/main/java/io/dataease/mobile/service/DirService.java
@@ -40,7 +40,6 @@ public class DirService {
}
public List query(DirRequest request) {
-// CurrentUserDto user = AuthUtils.getUser();
String userId = String.valueOf(AuthUtils.getUser().getUserId());
List panelEntities = new ArrayList<>();
if (StringUtils.isNotBlank(request.getName())) {
@@ -58,17 +57,6 @@ public class DirService {
return dirItemDTO;
}).collect(Collectors.toList());
return dtos;
-
-// if (user.getUserId() == 1 && StringUtils.equals("admin", user.getUsername())) {
-// return dtos;
-// }
-// List permissions = proxy().permissions();
-// return dtos.stream().filter(
-// dto -> permissions.stream().anyMatch(
-// permission -> StringUtils.equals(permission, dto.getId())
-// )
-// ).collect(Collectors.toList());
-
}
public DirService proxy() {
From e9cc8e2c250ab4c540e9d66b913b98d68f264e81 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=8E=8B=E5=98=89=E8=B1=AA?=
<42510293+ziyujiahao@users.noreply.github.com>
Date: Wed, 19 Jan 2022 19:05:43 +0800
Subject: [PATCH 15/33] =?UTF-8?q?Revert=20"refactor:=20=E5=8E=BB=E6=8E=89?=
=?UTF-8?q?=E6=97=A0=E7=94=A8=E4=BB=A3=E7=A0=81"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/io/dataease/mobile/service/DirService.java | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/backend/src/main/java/io/dataease/mobile/service/DirService.java b/backend/src/main/java/io/dataease/mobile/service/DirService.java
index 79abaa2c7b..8e69473f2a 100644
--- a/backend/src/main/java/io/dataease/mobile/service/DirService.java
+++ b/backend/src/main/java/io/dataease/mobile/service/DirService.java
@@ -40,6 +40,7 @@ public class DirService {
}
public List query(DirRequest request) {
+// CurrentUserDto user = AuthUtils.getUser();
String userId = String.valueOf(AuthUtils.getUser().getUserId());
List panelEntities = new ArrayList<>();
if (StringUtils.isNotBlank(request.getName())) {
@@ -57,6 +58,17 @@ public class DirService {
return dirItemDTO;
}).collect(Collectors.toList());
return dtos;
+
+// if (user.getUserId() == 1 && StringUtils.equals("admin", user.getUsername())) {
+// return dtos;
+// }
+// List permissions = proxy().permissions();
+// return dtos.stream().filter(
+// dto -> permissions.stream().anyMatch(
+// permission -> StringUtils.equals(permission, dto.getId())
+// )
+// ).collect(Collectors.toList());
+
}
public DirService proxy() {
From 8982a0ef4fbdc721084d9673469ed0e367301dc1 Mon Sep 17 00:00:00 2001
From: fit2cloudrd
Date: Tue, 25 Jan 2022 16:34:11 +0800
Subject: [PATCH 16/33] chore: Update issue templates
---
.github/ISSUE_TEMPLATE/bug---.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.github/ISSUE_TEMPLATE/bug---.md b/.github/ISSUE_TEMPLATE/bug---.md
index b9b09510f6..2670424e7f 100644
--- a/.github/ISSUE_TEMPLATE/bug---.md
+++ b/.github/ISSUE_TEMPLATE/bug---.md
@@ -10,6 +10,9 @@ assignees: BBchicken-9527, youliyuan-fit2cloud, zyyfit
**DataEase 版本**
+**运行方式(安装包运行 or 源码运行 ?)**
+
+
**浏览器版本**
From 7f8ded16c6b1813de3604090ccbd215883820eb4 Mon Sep 17 00:00:00 2001
From: fit2cloudrd
Date: Mon, 7 Feb 2022 15:31:44 +0800
Subject: [PATCH 17/33] docs: add CODE_OF_CONDUCT.md
---
CODE_OF_CONDUCT.md | 128 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 128 insertions(+)
create mode 100644 CODE_OF_CONDUCT.md
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 0000000000..18c9147181
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,128 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, religion, or sexual identity
+and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming,
+diverse, inclusive, and healthy community.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment for our
+community include:
+
+* Demonstrating empathy and kindness toward other people
+* Being respectful of differing opinions, viewpoints, and experiences
+* Giving and gracefully accepting constructive feedback
+* Accepting responsibility and apologizing to those affected by our mistakes,
+ and learning from the experience
+* Focusing on what is best not just for us as individuals, but for the
+ overall community
+
+Examples of unacceptable behavior include:
+
+* The use of sexualized language or imagery, and sexual attention or
+ advances of any kind
+* Trolling, insulting or derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or email
+ address, without their explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Enforcement Responsibilities
+
+Community leaders are responsible for clarifying and enforcing our standards of
+acceptable behavior and will take appropriate and fair corrective action in
+response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Community leaders have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, and will communicate reasons for moderation
+decisions when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when
+an individual is officially representing the community in public spaces.
+Examples of representing our community include using an official e-mail address,
+posting via an official social media account, or acting as an appointed
+representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the community leaders responsible for enforcement at
+.
+All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the
+reporter of any incident.
+
+## Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining
+the consequences for any action they deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed
+unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing
+clarity around the nature of the violation and an explanation of why the
+behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series
+of actions.
+
+**Consequence**: A warning with consequences for continued behavior. No
+interaction with the people involved, including unsolicited interaction with
+those enforcing the Code of Conduct, for a specified period of time. This
+includes avoiding interactions in community spaces as well as external channels
+like social media. Violating these terms may lead to a temporary or
+permanent ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including
+sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public
+communication with the community for a specified period of time. No public or
+private interaction with the people involved, including unsolicited interaction
+with those enforcing the Code of Conduct, is allowed during this period.
+Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community
+standards, including sustained inappropriate behavior, harassment of an
+individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within
+the community.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage],
+version 2.0, available at
+https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
+
+Community Impact Guidelines were inspired by [Mozilla's code of conduct
+enforcement ladder](https://github.com/mozilla/diversity).
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see the FAQ at
+https://www.contributor-covenant.org/faq. Translations are available at
+https://www.contributor-covenant.org/translations.
From 1dc688cb56d7425621c9f078d83b78d4d2da8cb8 Mon Sep 17 00:00:00 2001
From: fit2cloudrd
Date: Mon, 7 Feb 2022 15:34:12 +0800
Subject: [PATCH 18/33] docs: add CONTRIBUTING.md.
---
CONTRIBUTING.md | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
create mode 100644 CONTRIBUTING.md
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000000..34c9384a62
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,25 @@
+# Contributing
+
+## Create pull request
+PR are always welcome, even if they only contain small fixes like typos or a few lines of code. If there will be a significant effort, please document it as an issue and get a discussion going before starting to work on it.
+
+Please submit a PR broken down into small changes bit by bit. A PR consisting of a lot features and code changes may be hard to review. It is recommended to submit PRs in an incremental fashion.
+
+This [development guideline](https://metersphere.io/docs/dev_manual/) contains information about repository structure, how to setup development environment, how to run it, and more.
+
+Note: If you split your pull request to small changes, please make sure any of the changes goes to master will not break anything. Otherwise, it can not be merged until this feature complete.
+
+## Report issues
+It is a great way to contribute by reporting an issue. Well-written and complete bug reports are always welcome! Please open an issue and follow the template to fill in required information.
+
+Before opening any issue, please look up the existing issues to avoid submitting a duplication.
+If you find a match, you can "subscribe" to it to get notified on updates. If you have additional helpful information about the issue, please leave a comment.
+
+When reporting issues, always include:
+
+* Which version you are using.
+* Steps to reproduce the issue.
+* Snapshots or log files if needed
+
+Because the issues are open to the public, when submitting files, be sure to remove any sensitive information, e.g. user name, password, IP address, and company name. You can
+replace those parts with "REDACTED" or other strings like "****".
From 3676f832b1a349072f7a3deafd74930bc975d559 Mon Sep 17 00:00:00 2001
From: fit2cloudrd
Date: Mon, 7 Feb 2022 15:35:52 +0800
Subject: [PATCH 19/33] docs: add PULL_REQUEST_TEMPLATE.md.
---
.github/PULL_REQUEST_TEMPLATE.md | 9 +++++++++
1 file changed, 9 insertions(+)
create mode 100644 .github/PULL_REQUEST_TEMPLATE.md
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
new file mode 100644
index 0000000000..5e3e52506b
--- /dev/null
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -0,0 +1,9 @@
+#### What this PR does / why we need it?
+
+#### Summary of your change
+
+#### Please indicate you've done the following:
+
+- [ ] Made sure tests are passing and test coverage is added if needed.
+- [ ] Made sure commit message follow the rule of [Conventional Commits specification](https://www.conventionalcommits.org/).
+- [ ] Considered the docs impact and opened a new docs issue or PR with docs changes if needed.
From ad3358e983cd10886b96e633e392c69462f381aa Mon Sep 17 00:00:00 2001
From: fit2cloudrd
Date: Mon, 7 Feb 2022 15:48:43 +0800
Subject: [PATCH 20/33] fix: update CONTRIBUTING.md
---
CONTRIBUTING.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 34c9384a62..f3b3ce3188 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -5,7 +5,7 @@ PR are always welcome, even if they only contain small fixes like typos or a few
Please submit a PR broken down into small changes bit by bit. A PR consisting of a lot features and code changes may be hard to review. It is recommended to submit PRs in an incremental fashion.
-This [development guideline](https://metersphere.io/docs/dev_manual/) contains information about repository structure, how to setup development environment, how to run it, and more.
+This [development guideline](https://dataease.io/docs/dev_manual/dev_manual/) contains information about repository structure, how to setup development environment, how to run it, and more.
Note: If you split your pull request to small changes, please make sure any of the changes goes to master will not break anything. Otherwise, it can not be merged until this feature complete.
From 4a90d173895280ad67730fae427b30b26ff97c63 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Mon, 7 Feb 2022 16:19:29 +0800
Subject: [PATCH 21/33] Update SECURITY.md
---
SECURITY.md | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/SECURITY.md b/SECURITY.md
index 9b06741865..66aa1f1fe7 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -1,7 +1,19 @@
# 安全说明
-如果你发现安全问题,请直接联系我们,我们携手让世界更好:
+如果您发现安全问题,请直接联系我们:
- wei@fit2cloud.com
- support@fit2cloud.com
- 400-052-0755
+
+感谢您的支持!
+
+# Security Policy
+
+All security bugs should be reported to the contact as below:
+
+- wei@fit2cloud.com
+- support@fit2cloud.com
+- 400-052-0755
+
+Thanks for you support!
From 8918dc990b85a6a8d467adbfbc8af0537762cce2 Mon Sep 17 00:00:00 2001
From: littleSaltZz <69560211+littleSaltZz@users.noreply.github.com>
Date: Tue, 8 Feb 2022 16:55:08 +0800
Subject: [PATCH 22/33] =?UTF-8?q?Mongo=E5=B8=B8=E9=87=8F=E9=87=8C=E7=94=A8?=
=?UTF-8?q?=E7=9A=84oracle=E7=9A=84=E5=88=AB=E5=90=8D=E5=90=8E=E7=BC=80?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../io/dataease/provider/query/mongodb/MongoConstants.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/backend/src/main/java/io/dataease/provider/query/mongodb/MongoConstants.java b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoConstants.java
index 4c843c5445..0d4f8127de 100644
--- a/backend/src/main/java/io/dataease/provider/query/mongodb/MongoConstants.java
+++ b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoConstants.java
@@ -3,7 +3,6 @@ package io.dataease.provider.query.mongodb;
import io.dataease.provider.query.SQLConstants;
import static io.dataease.commons.constants.DatasourceTypes.mongo;
-import static io.dataease.commons.constants.DatasourceTypes.oracle;
/**
* @Author gin
@@ -14,7 +13,7 @@ public class MongoConstants extends SQLConstants {
public static final String KEYWORD_FIX = "%s." + mongo.getKeywordPrefix() + "%s" + mongo.getKeywordSuffix();
- public static final String ALIAS_FIX = mongo.getAliasPrefix() + "%s" + oracle.getAliasSuffix();
+ public static final String ALIAS_FIX = mongo.getAliasPrefix() + "%s" + mongo.getAliasSuffix();
public static final String toInt32 = "toInt32(%s)";
From 7d91962d3b282a3cf4dda812522ce9d64e0fab29 Mon Sep 17 00:00:00 2001
From: ywhfzy
Date: Thu, 3 Mar 2022 15:23:46 +0800
Subject: [PATCH 23/33] =?UTF-8?q?[update]=20=E6=96=B0=E5=A2=9Eapi=E6=95=B0?=
=?UTF-8?q?=E6=8D=AE=E6=BA=90=E4=B8=8E=E6=9B=B4=E6=94=B9UI=E5=B1=95?=
=?UTF-8?q?=E7=A4=BAGIF=E5=9B=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 7c521a4cd2..164fd1fef4 100644
--- a/README.md
+++ b/README.md
@@ -39,12 +39,13 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数
- Amazon Redshift
- Hive
- DB2
+- Api
> 更多数据源支持持续增加中...
## UI 展示
-
+
## 功能架构
From 37f9d6706902e8d78d57e62e626c2f2ca3af3b72 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Sat, 5 Mar 2022 14:53:24 +0800
Subject: [PATCH 24/33] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 164fd1fef4..b3b870c327 100644
--- a/README.md
+++ b/README.md
@@ -39,7 +39,7 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数
- Amazon Redshift
- Hive
- DB2
-- Api
+- API
> 更多数据源支持持续增加中...
From 8cf89d6c6be586b9c456c4c28e954a6206d67e23 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Sat, 5 Mar 2022 14:54:48 +0800
Subject: [PATCH 25/33] Update README.md
---
README.md | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index b3b870c327..780a29abc0 100644
--- a/README.md
+++ b/README.md
@@ -77,13 +77,14 @@ curl -sSL https://github.com/dataease/dataease/releases/latest/download/quick_st
## 技术栈
+- 前端:[Vue.js](https://vuejs.org/)、[Element](https://element.eleme.cn/)
+- 图库:[Apache ECharts](https://github.com/apache/echarts)、[AntV](https://antv.vision/zh)
- 后端:[Spring Boot](https://spring.io/projects/spring-boot)
-- 前端:[Vue.js](https://vuejs.org/)、[Element](https://element.eleme.cn/)、[Apache ECharts](https://github.com/apache/echarts)、[AntV](https://antv.vision/zh)
- 中间件:[MySQL](https://www.mysql.com/)
- 数据处理:[Kettle](https://github.com/pentaho/pentaho-kettle)、[Apache Doris](https://github.com/apache/incubator-doris/)
- 基础设施:[Docker](https://www.docker.com/)
-## License & Copyright
+## License
Copyright (c) 2014-2022 飞致云 FIT2CLOUD, All rights reserved.
From e2d00c664181055a59f1d6d71446da478bae4659 Mon Sep 17 00:00:00 2001
From: taojinlong
Date: Wed, 9 Mar 2022 18:28:10 +0800
Subject: [PATCH 26/33] Update ExtractDataService.java
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
fix: "kettle job 脚本"
---
.../java/io/dataease/service/dataset/ExtractDataService.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
index 6afd148af2..12b6b5fdb7 100644
--- a/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
+++ b/backend/src/main/java/io/dataease/service/dataset/ExtractDataService.java
@@ -119,9 +119,9 @@ public class ExtractDataService {
private static final String dropTableSql = "DROP TABLE IF EXISTS TABLE_NAME;";
private static final String shellScript = "result=`curl --location-trusted -u %s:%s -H \"label:%s\" -H \"column_separator:%s\" -H \"columns:%s\" -H \"merge_type: %s\" -T %s -XPUT http://%s:%s/api/%s/%s/_stream_load`\n" +
- "if [ $? == 0 ] ; then\n" +
+ "if [ $? -eq 0 ] ; then\n" +
" failstatus=$(echo $result | grep '\"Status\": \"Fail\"')\n" +
- " if [[ \"$failstatus\" != \"\" ]]; then\n" +
+ " if [ \"x${failstatus}\" != \"x\" ];then" +
" echo $result\n" +
" exit 1\n" +
" fi\n" +
From 0bedcd84616c13c2c663987d24712fc90b71b328 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Thu, 24 Mar 2022 18:52:03 +0800
Subject: [PATCH 27/33] Update README.md
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
更新功能架构图
---
README.md | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 780a29abc0..9032c85bff 100644
--- a/README.md
+++ b/README.md
@@ -7,9 +7,11 @@
-
+
DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便的与他人分享。
+
+
### DataEase 的功能:
- 图表展示:支持 PC 端、移动端及大屏;
@@ -47,10 +49,6 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数

-## 功能架构
-
-
-
## 在线体验
- 环境地址:
From 4dfae798227c7b5cacd3472dafe2ca7210333835 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Thu, 24 Mar 2022 18:58:57 +0800
Subject: [PATCH 28/33] Update README.md
---
README.md | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 9032c85bff..61002a20f2 100644
--- a/README.md
+++ b/README.md
@@ -8,25 +8,28 @@
+
+## 什么是 DataEase?
+
DataEase 是开源的数据可视化分析工具,帮助用户快速分析数据并洞察业务趋势,从而实现业务的改进与优化。DataEase 支持丰富的数据源连接,能够通过拖拉拽方式快速制作图表,并可以方便的与他人分享。

-### DataEase 的功能:
+## DataEase 的功能
- 图表展示:支持 PC 端、移动端及大屏;
- 图表制作:支持丰富的图表类型(Apache ECharts / AntV)、支持拖拉拽方式快速制作仪表板;
- 数据引擎:支持直连模式、本地模式(基于 Apache Doris / Kettle 实现);
- 数据连接:支持关系型数据库、Excel 等文件、Hadoop 等大数据平台、NoSQL 等各种数据源。
-### DataEase 的优势:
+## DataEase 的优势
- 开源开放:零门槛,线上快速获取和安装;快速获取用户反馈、按月发布新版本;
- 简单易用:极易上手,通过鼠标点击和拖拽即可完成分析;
- 秒级响应:集成 Apache Doris,超大数据量下秒级查询返回延时;
- 安全分享:支持多种数据分享方式,确保数据安全。
-### DataEase 已支持的数据源:
+## DataEase 支持的数据源
- Excel
- MySQL
From 27229516150b146e5d1ff59bdcea59239568eb17 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Thu, 24 Mar 2022 19:10:43 +0800
Subject: [PATCH 29/33] Update README.md
---
README.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 61002a20f2..05eccf3220 100644
--- a/README.md
+++ b/README.md
@@ -15,12 +15,12 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数

-## DataEase 的功能
+**DataEase 的功能包括:**
-- 图表展示:支持 PC 端、移动端及大屏;
+- 图表展示:支持 PC 端、移动端、大屏;
- 图表制作:支持丰富的图表类型(Apache ECharts / AntV)、支持拖拉拽方式快速制作仪表板;
- 数据引擎:支持直连模式、本地模式(基于 Apache Doris / Kettle 实现);
-- 数据连接:支持关系型数据库、Excel 等文件、Hadoop 等大数据平台、NoSQL 等各种数据源。
+- 数据连接:支持数据仓库/数据湖、OLAP 数据库、OLTP 数据库、Excel 数据文件、API 等各种数据源。
## DataEase 的优势
From 27a508435f4d9e6c74192855b48048c993dcd647 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Sat, 2 Apr 2022 16:35:15 +0800
Subject: [PATCH 30/33] Update README.md
---
README.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 05eccf3220..a9ba79b4b6 100644
--- a/README.md
+++ b/README.md
@@ -70,7 +70,8 @@ curl -sSL https://github.com/dataease/dataease/releases/latest/download/quick_st
```
- [在线文档](https://dataease.io/docs/)
-- [演示视频](https://www.bilibili.com/video/BV1UB4y1K7jA)
+- [教学视频](https://dataease.io/video.html)
+- [在线学习班](https://edu.fit2cloud.com/page/2635362?navIndex=0)
## 微信群
From 897f1fd03de8b52f6d23fbf59bb8917f97725fe4 Mon Sep 17 00:00:00 2001
From: maninhill <41712985+maninhill@users.noreply.github.com>
Date: Thu, 7 Apr 2022 10:14:00 +0800
Subject: [PATCH 31/33] Update README.md
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
更新支持的数据源类别(v1.9版本)
---
README.md | 3 +++
1 file changed, 3 insertions(+)
diff --git a/README.md b/README.md
index a9ba79b4b6..32d56e74d8 100644
--- a/README.md
+++ b/README.md
@@ -45,6 +45,9 @@ DataEase 是开源的数据可视化分析工具,帮助用户快速分析数
- Hive
- DB2
- API
+- Impala
+- TiDB
+- StarRocks
> 更多数据源支持持续增加中...
From 84f4cbd071ba4cf0177dd4e9387e4ecd5a069683 Mon Sep 17 00:00:00 2001
From: satan <11912823@mail.sustech.edu.cn>
Date: Tue, 10 May 2022 00:52:06 +0800
Subject: [PATCH 32/33] =?UTF-8?q?=E4=BF=AE=E5=A4=8D[issue=201298](https://?=
=?UTF-8?q?github.com/dataease/dataease/issues/1298)=20:"=E4=B8=AA?=
=?UTF-8?q?=E4=BA=BA=E4=BF=A1=E6=81=AF=E5=BB=BA=E8=AE=AE=E5=8F=AF=E4=BB=A5?=
=?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=9F=90=E4=BA=9B=E5=AD=97=E6=AE=B5"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/sys/SysUserController.java | 17 +++++++++-
.../dataease/service/sys/SysUserService.java | 24 +++++++++++++-
frontend/src/api/system/user.js | 4 +--
.../src/views/system/user/privateForm.vue | 32 +++++++++++--------
4 files changed, 60 insertions(+), 17 deletions(-)
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 b8bf7ecfd5..5cd12f259c 100644
--- a/backend/src/main/java/io/dataease/controller/sys/SysUserController.java
+++ b/backend/src/main/java/io/dataease/controller/sys/SysUserController.java
@@ -119,7 +119,22 @@ public class SysUserController {
@ApiOperation("更新个人信息")
@PostMapping("/updatePersonInfo")
public void updatePersonInfo(@RequestBody SysUserCreateRequest request) {
- sysUserService.updatePersonInfo(request);
+ Long userId = AuthUtils.getUser().getUserId();
+ // 防止修改他人信息, 防止必填内容留空
+ if (!request.getUserId().equals(userId) || request.getEmail() == null || request.getNickName() == null) {
+ throw new RuntimeException("内容不合法");
+ }
+ // 再次验证,匹配格式
+ if (!request.getPhone().isEmpty() && !request.getPhone().matches("^1[3|4|5|7|8][0-9]{9}$")) {
+ throw new RuntimeException("电话格式错误");
+ }
+ if (!request.getEmail().matches("^[a-zA-Z0-9_._-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$")) {
+ throw new RuntimeException("邮箱格式错误");
+ }
+ if (!(2 <= request.getNickName().length() && request.getNickName().length() <= 50)) {
+ throw new RuntimeException("姓名格式错误");
+ }
+ sysUserService.updatePersonBasicInfo(request);
}
@ApiOperation("设置语言")
diff --git a/backend/src/main/java/io/dataease/service/sys/SysUserService.java b/backend/src/main/java/io/dataease/service/sys/SysUserService.java
index 259b4a5ffb..b9b2ed382a 100644
--- a/backend/src/main/java/io/dataease/service/sys/SysUserService.java
+++ b/backend/src/main/java/io/dataease/service/sys/SysUserService.java
@@ -208,6 +208,25 @@ public class SysUserService {
}
+ /**
+ * 更新用户基本信息
+ * 只允许修改 email, nickname, phone
+ * 防止此接口被恶意利用更改不允许更改的信息,新建SysUser对象并只设置部分值
+ * @param request
+ * @return
+ */
+ @CacheEvict(value = AuthConstants.USER_CACHE_NAME, key = "'user' + #request.userId")
+ @Transactional
+ public int updatePersonBasicInfo(SysUserCreateRequest request) {
+ SysUser user = new SysUser();
+ long now = System.currentTimeMillis();
+ user.setUserId(request.getUserId());
+ user.setUpdateTime(now);
+ user.setEmail(request.getEmail());
+ user.setNickName(request.getNickName());
+ user.setPhone(request.getPhone());
+ return sysUserMapper.updateByPrimaryKeySelective(user);
+ }
@CacheEvict(value = AuthConstants.USER_CACHE_NAME, key = "'user' + #request.userId")
public int updateStatus(SysUserStateRequest request) {
@@ -218,7 +237,7 @@ public class SysUserService {
}
/**
- * 修改用户密码清楚缓存
+ * 修改用户密码清除缓存
*
* @param request
* @return
@@ -235,6 +254,9 @@ public class SysUserService {
}
SysUser sysUser = new SysUser();
sysUser.setUserId(user.getUserId());
+ if (!request.getNewPassword().matches("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).{8,30}$")) {
+ throw new RuntimeException("密码格式错误");
+ }
sysUser.setPassword(CodingUtil.md5(request.getNewPassword()));
return sysUserMapper.updateByPrimaryKeySelective(sysUser);
}
diff --git a/frontend/src/api/system/user.js b/frontend/src/api/system/user.js
index 63cacd59ad..3e4d895d24 100644
--- a/frontend/src/api/system/user.js
+++ b/frontend/src/api/system/user.js
@@ -68,7 +68,7 @@ export const editStatus = (data) => {
})
}
-export const persionInfo = () => {
+export const personInfo = () => {
return request({
url: pathMap.personInfoPath,
method: 'post'
@@ -133,4 +133,4 @@ export function existLdapUsers() {
})
}
-export default { editPassword, delUser, editUser, addUser, userLists, editStatus, persionInfo, updatePerson, updatePersonPwd, allRoles, roleGrid, ldapUsers, saveLdapUser, existLdapUsers }
+export default { editPassword, delUser, editUser, addUser, userLists, editStatus, personInfo, updatePerson, updatePersonPwd, allRoles, roleGrid, ldapUsers, saveLdapUser, existLdapUsers }
diff --git a/frontend/src/views/system/user/privateForm.vue b/frontend/src/views/system/user/privateForm.vue
index fa465df3ce..39e3df7661 100644
--- a/frontend/src/views/system/user/privateForm.vue
+++ b/frontend/src/views/system/user/privateForm.vue
@@ -5,18 +5,18 @@
-
+
-
+
-
+
-
+
@@ -33,9 +33,9 @@
:load-options="loadDepts"
:auto-load-root-options="false"
:placeholder="$t('user.choose_org')"
- :noChildrenText="$t('commons.treeselect.no_children_text')"
- :noOptionsText="$t('commons.treeselect.no_options_text')"
- :noResultsText="$t('commons.treeselect.no_results_text')"
+ :no-children-text="$t('commons.treeselect.no_children_text')"
+ :no-options-text="$t('commons.treeselect.no_options_text')"
+ :no-results-text="$t('commons.treeselect.no_results_text')"
/>
@@ -56,10 +56,14 @@
/>
-
+
+
+ 修改个人信息
+
+
+ 保存
+ 取消
+