From 0285999cf3c4ac27c328204e2d6e8ba74c8463d2 Mon Sep 17 00:00:00 2001 From: xs Date: Mon, 22 Sep 2025 15:37:19 +0800 Subject: [PATCH] =?UTF-8?q?1.5.6=E5=89=8D=E7=AB=AF=20AI=E8=A1=A8=E5=8D=95?= =?UTF-8?q?=E5=BF=AB=E6=8D=B7=E5=A1=AB=E6=8A=A5=E5=AE=8C=E5=96=84=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=8A=A5=E5=B7=A5=E6=B5=8B=E8=AF=95=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=EF=BC=8C=E5=B9=B6=E4=B8=94=E5=A2=9E=E5=8A=A0=E8=AF=AD?= =?UTF-8?q?=E9=9F=B3=E7=9A=84=E8=AF=86=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 10 +- src/api/ai/base/aiFormSetting/index.ts | 15 + src/api/ai/base/aiFormSetting/types.ts | 5 + src/api/ai/skill/aiAssistant/index.ts | 43 + src/api/ai/skill/aiAssistant/types.ts | 22 + src/layout/components/TopBar/aiAssistant.vue | 833 +++++++++++++----- src/views/ai/base/aiFormSetting/index.vue | 1 + .../ai/skill/aiForm/prodPlanFillTest.vue | 177 ++++ 8 files changed, 904 insertions(+), 202 deletions(-) create mode 100644 src/api/ai/skill/aiAssistant/index.ts create mode 100644 src/api/ai/skill/aiAssistant/types.ts create mode 100644 src/views/ai/skill/aiForm/prodPlanFillTest.vue diff --git a/src/App.vue b/src/App.vue index 3775a7c..761d55e 100644 --- a/src/App.vue +++ b/src/App.vue @@ -3,7 +3,7 @@ - +
@@ -37,12 +37,16 @@ const openAiAssistantMenu = () => { }; - diff --git a/src/api/ai/base/aiFormSetting/index.ts b/src/api/ai/base/aiFormSetting/index.ts index d7a458f..601fac0 100644 --- a/src/api/ai/base/aiFormSetting/index.ts +++ b/src/api/ai/base/aiFormSetting/index.ts @@ -78,6 +78,7 @@ export function getAiFormSettingList (query) { + // 获取数据源名称 export const getDataNames = () => { return request({ @@ -104,3 +105,17 @@ export const listDbTableColumn = (query: DbTableQuery): AxiosPromise => { + return request({ + url: '/ai/assistant/aiFillForm', + method: 'post', + data: data, + timeout: 1000000 + }); +}; + + +export const asr = (data: any) => { + return request({ + url: '/ai/api/speech/recognize', + method: 'post', + data: data, + timeout: 1000000 + }); +}; + +export const uploadFile = (data: any) => { + return request({ + url: '/resource/oss/upload', + method: 'post', + data: data + }); +}; + +export const recognizeSpeechByUrl = (audioUrl: string) => { + return request({ + url: '/ai/asr/recognizeSpeechByUrl', + method: 'post', + params: {audioUrl} + }); +}; + + diff --git a/src/api/ai/skill/aiAssistant/types.ts b/src/api/ai/skill/aiAssistant/types.ts new file mode 100644 index 0000000..924d2d7 --- /dev/null +++ b/src/api/ai/skill/aiAssistant/types.ts @@ -0,0 +1,22 @@ +import {AiFormSettingDetailVO} from "@/api/ai/base/aiFormSetting/types"; + +export interface AIFillFormRequestVO { + /** + * AI表单设置ID + */ + formSettingId: number; + + + /** + * 提问的问题(prompt) + */ + naturalLanguageQuery: string; + + /** + * AI表单设置属性详情列表 + */ + formSettingDetailList: AiFormSettingDetailVO[]; + + +} + diff --git a/src/layout/components/TopBar/aiAssistant.vue b/src/layout/components/TopBar/aiAssistant.vue index b9fee4e..9734170 100644 --- a/src/layout/components/TopBar/aiAssistant.vue +++ b/src/layout/components/TopBar/aiAssistant.vue @@ -1,25 +1,24 @@