From bd109779d8adb70dfdd75e8f2899e3ad16bc109c Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 27 Mar 2024 13:35:52 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E7=B3=BB=E7=BB=9F=E8=AE=BE=E7=BD=AE):=20?= =?UTF-8?q?=E9=9B=86=E6=88=90MaxKB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ai/AiComponentController.java | 26 ++++++ .../io/dataease/service/ai/AiBaseService.java | 32 ++++++++ .../resources/db/migration/V62__1.18.18.sql | 4 +- core/frontend/src/api/ai/aiComponent.js | 10 +++ core/frontend/src/icons/svg/dv-ai.svg | 15 ++++ .../src/layout/components/AiComponent.vue | 79 +++++++++++++++++++ .../frontend/src/layout/components/Topbar.vue | 29 +++++++ 7 files changed, 194 insertions(+), 1 deletion(-) create mode 100644 core/backend/src/main/java/io/dataease/controller/ai/AiComponentController.java create mode 100644 core/backend/src/main/java/io/dataease/service/ai/AiBaseService.java create mode 100644 core/frontend/src/api/ai/aiComponent.js create mode 100644 core/frontend/src/icons/svg/dv-ai.svg create mode 100644 core/frontend/src/layout/components/AiComponent.vue diff --git a/core/backend/src/main/java/io/dataease/controller/ai/AiComponentController.java b/core/backend/src/main/java/io/dataease/controller/ai/AiComponentController.java new file mode 100644 index 0000000000..cb4ca0f23c --- /dev/null +++ b/core/backend/src/main/java/io/dataease/controller/ai/AiComponentController.java @@ -0,0 +1,26 @@ +package io.dataease.controller.ai; + +import io.dataease.service.ai.AiBaseService; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.Map; + +/** + * @author : WangJiaHao + * @date : 2024/3/27 09:44 + */ + +@RestController +@RequestMapping("aiBase") +public class AiComponentController { + @Resource + private AiBaseService aiBaseService; + + @GetMapping("findTargetUrl") + Map findTargetUrl(){ + return aiBaseService.findTargetUrl(); + } +} diff --git a/core/backend/src/main/java/io/dataease/service/ai/AiBaseService.java b/core/backend/src/main/java/io/dataease/service/ai/AiBaseService.java new file mode 100644 index 0000000000..e6b02a8cf7 --- /dev/null +++ b/core/backend/src/main/java/io/dataease/service/ai/AiBaseService.java @@ -0,0 +1,32 @@ +package io.dataease.service.ai; + +import io.dataease.service.system.SystemParameterService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.Map; + +/** + * @author : WangJiaHao + * @date : 2024/3/27 09:47 + */ +@Service +public class AiBaseService { + @Resource + private SystemParameterService parameterService; + + public Map findTargetUrl() { + String baseUrl = parameterService.getValue("ai.baseUrl"); + Map result = new HashMap<>(); + + if(StringUtils.isNotEmpty(baseUrl)){ + result.put("ai.baseUrl",baseUrl); + + } + return result; + } +} diff --git a/core/backend/src/main/resources/db/migration/V62__1.18.18.sql b/core/backend/src/main/resources/db/migration/V62__1.18.18.sql index 0deb306377..30befd3d02 100644 --- a/core/backend/src/main/resources/db/migration/V62__1.18.18.sql +++ b/core/backend/src/main/resources/db/migration/V62__1.18.18.sql @@ -15,4 +15,6 @@ CREATE TABLE `panel_link_ticket` AUTO_INCREMENT = 1; ALTER TABLE `panel_link_mapping` - ADD COLUMN `require_ticket` tinyint(1) NOT NULL DEFAULT 0 AFTER `uuid`; \ No newline at end of file + ADD COLUMN `require_ticket` tinyint(1) NOT NULL DEFAULT 0 AFTER `uuid`; + +INSERT INTO `system_parameter` (`param_key`, `param_value`, `type`, `sort`) VALUES ('ai.baseUrl', 'https://maxkb.fit2cloud.com/ui/chat/5baa787163381fa2', 'text', 100); \ No newline at end of file diff --git a/core/frontend/src/api/ai/aiComponent.js b/core/frontend/src/api/ai/aiComponent.js new file mode 100644 index 0000000000..9c39155b8f --- /dev/null +++ b/core/frontend/src/api/ai/aiComponent.js @@ -0,0 +1,10 @@ +import request from '@/utils/request' + +export async function findBaseParams() { + return request({ + url: '/aiBase/findTargetUrl', + method: 'get', + loading: false + }) +} + diff --git a/core/frontend/src/icons/svg/dv-ai.svg b/core/frontend/src/icons/svg/dv-ai.svg new file mode 100644 index 0000000000..7927339542 --- /dev/null +++ b/core/frontend/src/icons/svg/dv-ai.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/core/frontend/src/layout/components/AiComponent.vue b/core/frontend/src/layout/components/AiComponent.vue new file mode 100644 index 0000000000..bfd5a60572 --- /dev/null +++ b/core/frontend/src/layout/components/AiComponent.vue @@ -0,0 +1,79 @@ + +