From 162b5f318b99b71b622b3fe56065fb06d9e0ffcd Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 26 Nov 2024 12:33:04 +0800 Subject: [PATCH 1/2] =?UTF-8?q?perf(X-Pack):=20=E6=B8=B8=E7=A6=BB=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E8=A1=80=E7=BC=98=E5=85=B3=E7=B3=BB=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../public/svg/relation-dataset.svg | 13 +++++++ core/core-frontend/public/svg/relation-ds.svg | 18 +++++++++ .../public/svg/relation-panel.svg | 6 +++ .../public/svg/relation-screen.svg | 8 ++++ core/core-frontend/src/locales/zh-CN.ts | 3 +- de-xpack | 2 +- .../java/io/dataease/api/free/FreeApi.java | 9 +++-- .../api/free/dto/FreeRelationCategory.java | 14 +++++++ .../api/free/dto/FreeRelationLink.java | 24 ++++++++++++ .../api/free/dto/FreeRelationNode.java | 37 +++++++++++++++++++ .../api/free/dto/FreeRelationRequest.java | 15 ++++++++ .../dataease/api/free/vo/FreeRelationVO.java | 26 +++++++++++++ 12 files changed, 169 insertions(+), 6 deletions(-) create mode 100644 core/core-frontend/public/svg/relation-dataset.svg create mode 100644 core/core-frontend/public/svg/relation-ds.svg create mode 100644 core/core-frontend/public/svg/relation-panel.svg create mode 100644 core/core-frontend/public/svg/relation-screen.svg create mode 100644 sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationCategory.java create mode 100644 sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationLink.java create mode 100644 sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationNode.java create mode 100644 sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationRequest.java create mode 100644 sdk/api/api-base/src/main/java/io/dataease/api/free/vo/FreeRelationVO.java diff --git a/core/core-frontend/public/svg/relation-dataset.svg b/core/core-frontend/public/svg/relation-dataset.svg new file mode 100644 index 0000000000..c31cfd38db --- /dev/null +++ b/core/core-frontend/public/svg/relation-dataset.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/core/core-frontend/public/svg/relation-ds.svg b/core/core-frontend/public/svg/relation-ds.svg new file mode 100644 index 0000000000..d5073da2e9 --- /dev/null +++ b/core/core-frontend/public/svg/relation-ds.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/core/core-frontend/public/svg/relation-panel.svg b/core/core-frontend/public/svg/relation-panel.svg new file mode 100644 index 0000000000..090c1f461c --- /dev/null +++ b/core/core-frontend/public/svg/relation-panel.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/core/core-frontend/public/svg/relation-screen.svg b/core/core-frontend/public/svg/relation-screen.svg new file mode 100644 index 0000000000..5b302b4cdc --- /dev/null +++ b/core/core-frontend/public/svg/relation-screen.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index 508b17aede..78ce6bf227 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -4090,6 +4090,7 @@ export default { folder: '文件夹', del_folder_tips: '删除后,此文件夹下的所有资源都会被删除,请谨慎操作。', sync_to_org: '迁移至目标组织', - sync_org_placeholder: '请选择目标组织' + sync_org_placeholder: '请选择目标组织', + relation_picture: '血缘关系图' } } diff --git a/de-xpack b/de-xpack index 8ac18a900a..7cdb941249 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit 8ac18a900ac4744d62ff3c7e4ee6ec3c8fb82933 +Subproject commit 7cdb9412491767474db9bbd3d49e97bcb0a39519 diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/free/FreeApi.java b/sdk/api/api-base/src/main/java/io/dataease/api/free/FreeApi.java index 0f51b930ed..aba18ae952 100644 --- a/sdk/api/api-base/src/main/java/io/dataease/api/free/FreeApi.java +++ b/sdk/api/api-base/src/main/java/io/dataease/api/free/FreeApi.java @@ -1,9 +1,7 @@ package io.dataease.api.free; -import io.dataease.api.free.dto.FreeBatchDelRequest; -import io.dataease.api.free.dto.FreeBatchSyncRequest; -import io.dataease.api.free.dto.FreeQueryRequest; -import io.dataease.api.free.dto.FreeSyncRequest; +import io.dataease.api.free.dto.*; +import io.dataease.api.free.vo.FreeRelationVO; import io.dataease.api.free.vo.FreeVO; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; @@ -26,4 +24,7 @@ public interface FreeApi { @PostMapping("/deleteBatch") void deleteBatch(@RequestBody FreeBatchDelRequest request); + + @PostMapping("/relation") + FreeRelationVO relation(@RequestBody FreeRelationRequest request); } diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationCategory.java b/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationCategory.java new file mode 100644 index 0000000000..f40da1f2cb --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationCategory.java @@ -0,0 +1,14 @@ +package io.dataease.api.free.dto; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +@Data +public class FreeRelationCategory implements Serializable { + @Serial + private static final long serialVersionUID = 2235520960613140213L; + + private String name; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationLink.java b/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationLink.java new file mode 100644 index 0000000000..3f91dbe715 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationLink.java @@ -0,0 +1,24 @@ +package io.dataease.api.free.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; + +@NoArgsConstructor +@AllArgsConstructor +@Data +public class FreeRelationLink implements Serializable { + @Serial + private static final long serialVersionUID = 8574916923164645781L; + + @JsonSerialize(using= ToStringSerializer.class) + private Long source; + + @JsonSerialize(using= ToStringSerializer.class) + private Long target; +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationNode.java b/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationNode.java new file mode 100644 index 0000000000..2fb1787903 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationNode.java @@ -0,0 +1,37 @@ +package io.dataease.api.free.dto; + +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; + +@AllArgsConstructor +@NoArgsConstructor +@Data +public class FreeRelationNode implements Serializable { + @Serial + private static final long serialVersionUID = 5396869322229400707L; + + @JsonSerialize(using= ToStringSerializer.class) + private Long id; + + private String name; + + private Integer category; + + private Integer x; + + private Integer y; + + public FreeRelationNode(Long id, String name, Integer category) { + this.id = id; + this.name = name; + this.category = category; + this.x = 0; + this.y = 0; + } +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationRequest.java b/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationRequest.java new file mode 100644 index 0000000000..ca976a53a1 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/free/dto/FreeRelationRequest.java @@ -0,0 +1,15 @@ +package io.dataease.api.free.dto; + +import lombok.Data; + +import java.io.Serial; +import java.io.Serializable; + +@Data +public class FreeRelationRequest implements Serializable { + @Serial + private static final long serialVersionUID = -316612770549936486L; + + private Long id; + +} diff --git a/sdk/api/api-base/src/main/java/io/dataease/api/free/vo/FreeRelationVO.java b/sdk/api/api-base/src/main/java/io/dataease/api/free/vo/FreeRelationVO.java new file mode 100644 index 0000000000..0c6e205944 --- /dev/null +++ b/sdk/api/api-base/src/main/java/io/dataease/api/free/vo/FreeRelationVO.java @@ -0,0 +1,26 @@ +package io.dataease.api.free.vo; + +import io.dataease.api.free.dto.FreeRelationCategory; +import io.dataease.api.free.dto.FreeRelationLink; +import io.dataease.api.free.dto.FreeRelationNode; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +import java.io.Serial; +import java.io.Serializable; +import java.util.List; + +@NoArgsConstructor +@AllArgsConstructor +@Data +public class FreeRelationVO implements Serializable { + @Serial + private static final long serialVersionUID = 7087187548660162237L; + + private List categories; + + private List links; + + private List nodes; +} From 390c5e4958b8c54c1158397a3cba524648bd2b8a Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 26 Nov 2024 12:39:52 +0800 Subject: [PATCH 2/2] =?UTF-8?q?perf:=20=E7=99=BB=E5=BD=95=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E5=88=A0=E9=99=A4=E5=89=8D=E7=AB=AF=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- core/core-frontend/src/views/login/index.vue | 36 ++------------------ de-xpack | 2 +- 2 files changed, 3 insertions(+), 35 deletions(-) diff --git a/core/core-frontend/src/views/login/index.vue b/core/core-frontend/src/views/login/index.vue index 44a71d5c5a..cf84908f91 100644 --- a/core/core-frontend/src/views/login/index.vue +++ b/core/core-frontend/src/views/login/index.vue @@ -51,42 +51,10 @@ const state = reactive({ }, footContent: '' }) -const checkUsername = (rule: any, value: any, callback: any) => { - if (!value || activeName.value === 'ldap') { - return callback() - } - const pattern = /^[a-zA-Z0-9][a-zA-Z0-9\@._-]*$/ - const reg = new RegExp(pattern) - if (!reg.test(value)) { - const msg = t('user.user_name_pattern_error') - callback(new Error(msg)) - } - return callback() -} - -const validatePwd = (rule: any, value: any, callback: any) => { - if (!value || activeName.value === 'ldap') { - return callback() - } - const pattern = - /^.*(?=.{6,20})(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[~!@#$%^&*()_+\-\={}|":<>?`[\];',.\/])[a-zA-Z0-9~!@#$%^&*()_+\-\={}|":<>?`[\];',.\/]*$/ - const regep = new RegExp(pattern) - if (!regep.test(value)) { - const msg = t('user.pwd_pattern_error') - callback(new Error(msg)) - } - return callback() -} const rules = reactive({ - username: [ - { required: true, message: t('common.required'), trigger: 'blur' }, - { required: true, validator: checkUsername, trigger: 'blur' } - ], - password: [ - { required: true, message: t('common.required'), trigger: 'blur' }, - { required: true, validator: validatePwd, trigger: 'blur' } - ] + username: [{ required: true, message: t('common.required'), trigger: 'blur' }], + password: [{ required: true, message: t('common.required'), trigger: 'blur' }] }) const activeName = ref('simple') diff --git a/de-xpack b/de-xpack index 7cdb941249..315fa62982 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit 7cdb9412491767474db9bbd3d49e97bcb0a39519 +Subproject commit 315fa62982d6f322fb3dddf641882251f1572c79