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 @@ + +