From 992120f8aa605469e476a9f974a63e7e6506baa1 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Thu, 26 Sep 2024 14:13:03 +0800 Subject: [PATCH] =?UTF-8?q?perf(X-Pack):=20=E7=A4=BE=E5=8C=BA=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=96=E6=B6=88xpack=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/home/RestIndexController.java | 13 +++++++------ .../java/io/dataease/home/manage/DeIndexManage.java | 13 +++++++++++++ .../src/components/plugin/src/PluginComponent.vue | 7 ++++++- .../src/components/plugin/src/index.vue | 8 +++++++- core/core-frontend/src/utils/logout.ts | 3 ++- core/core-frontend/src/utils/utils.ts | 4 ++++ core/core-frontend/src/views/about/index.vue | 2 +- de-xpack | 2 +- 8 files changed, 41 insertions(+), 11 deletions(-) create mode 100644 core/core-backend/src/main/java/io/dataease/home/manage/DeIndexManage.java diff --git a/core/core-backend/src/main/java/io/dataease/home/RestIndexController.java b/core/core-backend/src/main/java/io/dataease/home/RestIndexController.java index e848d88e9d..231afa9d90 100644 --- a/core/core-backend/src/main/java/io/dataease/home/RestIndexController.java +++ b/core/core-backend/src/main/java/io/dataease/home/RestIndexController.java @@ -1,9 +1,9 @@ package io.dataease.home; -import io.dataease.license.utils.LicenseUtil; +import io.dataease.home.manage.DeIndexManage; import io.dataease.utils.ModelUtils; import io.dataease.utils.RsaUtils; -import org.springframework.beans.factory.annotation.Value; +import jakarta.annotation.Resource; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @@ -13,8 +13,9 @@ import org.springframework.web.bind.annotation.RestController; @RequestMapping public class RestIndexController { - @Value("${dataease.xpack-front-distributed:false}") - private boolean xpackFrontDistributed; + + @Resource + private DeIndexManage deIndexManage; @GetMapping("/dekey") @ResponseBody @@ -31,8 +32,8 @@ public class RestIndexController { @GetMapping("/xpackModel") @ResponseBody - public boolean xpackModel() { - return xpackFrontDistributed && LicenseUtil.licenseValid(); + public Boolean xpackModel() { + return deIndexManage.xpackModel(); } } diff --git a/core/core-backend/src/main/java/io/dataease/home/manage/DeIndexManage.java b/core/core-backend/src/main/java/io/dataease/home/manage/DeIndexManage.java new file mode 100644 index 0000000000..9ef0cfe13a --- /dev/null +++ b/core/core-backend/src/main/java/io/dataease/home/manage/DeIndexManage.java @@ -0,0 +1,13 @@ +package io.dataease.home.manage; + +import io.dataease.license.config.XpackInteract; +import org.springframework.stereotype.Component; + +@Component +public class DeIndexManage { + + @XpackInteract(value = "deIndexManage", replace = true) + public Boolean xpackModel() { + return null; + } +} diff --git a/core/core-frontend/src/components/plugin/src/PluginComponent.vue b/core/core-frontend/src/components/plugin/src/PluginComponent.vue index b0e2fc2894..8232500f52 100644 --- a/core/core-frontend/src/components/plugin/src/PluginComponent.vue +++ b/core/core-frontend/src/components/plugin/src/PluginComponent.vue @@ -12,6 +12,7 @@ import * as vueRouter from 'vue-router' import { useEmitt } from '@/hooks/web/useEmitt' import request from '@/config/axios' const { wsCache } = useCache() +import { isNull } from '@/utils/utils' const plugin = ref() @@ -103,11 +104,15 @@ onMounted(async () => { let distributed = false if (wsCache.get(key) === null) { const res = await xpackModelApi() - wsCache.set('xpack-model-distributed', res.data) + wsCache.set('xpack-model-distributed', isNull(res.data) ? 'null' : res.data) distributed = res.data } else { distributed = wsCache.get(key) } + if (isNull(distributed)) { + emits('loadFail') + return + } if (distributed) { const moduleName = getModuleName() if (window[moduleName]) { diff --git a/core/core-frontend/src/components/plugin/src/index.vue b/core/core-frontend/src/components/plugin/src/index.vue index 3072a48018..9718f639b4 100644 --- a/core/core-frontend/src/components/plugin/src/index.vue +++ b/core/core-frontend/src/components/plugin/src/index.vue @@ -12,6 +12,7 @@ import * as echarts from 'echarts' import router from '@/router' import tinymce from 'tinymce/tinymce' import { useEmitt } from '@/hooks/web/useEmitt' +import { isNull } from '@/utils/utils' const { wsCache } = useCache() @@ -107,11 +108,16 @@ onMounted(async () => { let distributed = false if (wsCache.get(key) === null) { const res = await xpackModelApi() - wsCache.set('xpack-model-distributed', res.data) + const resData = isNull(res.data) ? 'null' : res.data + wsCache.set('xpack-model-distributed', resData) distributed = res.data } else { distributed = wsCache.get(key) } + if (isNull(distributed)) { + emits('loadFail') + return + } if (distributed) { if (window['DEXPack']) { const xpack = await window['DEXPack'].mapping[attrs.jsname] diff --git a/core/core-frontend/src/utils/logout.ts b/core/core-frontend/src/utils/logout.ts index 4dce91b431..c0dc30ac12 100644 --- a/core/core-frontend/src/utils/logout.ts +++ b/core/core-frontend/src/utils/logout.ts @@ -51,7 +51,8 @@ const removeCache = () => { if ( key.startsWith('de-plugin-') || key === 'de-platform-client' || - key === 'pwd-validity-period' + key === 'pwd-validity-period' || + key === 'xpack-model-distributed' ) { wsCache.delete(key) } diff --git a/core/core-frontend/src/utils/utils.ts b/core/core-frontend/src/utils/utils.ts index 9699452db5..cc1d599659 100644 --- a/core/core-frontend/src/utils/utils.ts +++ b/core/core-frontend/src/utils/utils.ts @@ -184,3 +184,7 @@ export function cutTargetTree(tree: BusiTreeNode[], targetId: string | number) { export const isLink = () => { return window.location.hash.startsWith('#/de-link/') } + +export const isNull = arg => { + return typeof arg === 'undefined' || arg === null || arg === 'null' +} diff --git a/core/core-frontend/src/views/about/index.vue b/core/core-frontend/src/views/about/index.vue index eda28a0370..033cc2e512 100644 --- a/core/core-frontend/src/views/about/index.vue +++ b/core/core-frontend/src/views/about/index.vue @@ -87,6 +87,7 @@ const removeDistributeModule = () => { localStorage.removeItem(key) } const importLic = file => { + removeDistributeModule() const reader = new FileReader() reader.onload = function (e) { const licKey = e.target.result @@ -97,7 +98,6 @@ const importLic = file => { reader.readAsText(file) } const validateHandler = (param, success) => { - removeDistributeModule() validateApi(param).then(success) } const getLicense = result => { diff --git a/de-xpack b/de-xpack index d415457510..686ee95e62 160000 --- a/de-xpack +++ b/de-xpack @@ -1 +1 @@ -Subproject commit d415457510f49faf552ad2bfe51030f8c228e736 +Subproject commit 686ee95e622fbd16e04cf0847d0a84dbe9a59488