From a6eaf5789802d397475f5980e73f0ffd0293b571 Mon Sep 17 00:00:00 2001 From: 2910410219 <2910410219@qq.com> Date: Tue, 14 Jul 2026 16:30:26 +0800 Subject: [PATCH] =?UTF-8?q?v2=E6=A8=A1=E5=9E=8B=E7=AE=A1=E7=90=86=E7=9B=B8?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/settings/modelConfigV2/index.ts | 93 +++- .../json-schema-editor/FieldConfigDialog.vue | 361 ++++++++++++ .../json-schema-editor/JsonNode.vue | 257 +++++++++ src/components/json-schema-editor/index.ts | 6 + src/components/json-schema-editor/index.vue | 512 ++++++++++++++++++ src/types/json-schema-editor.d.ts | 11 + .../modelConfigV2/component/editModule.vue | 408 +++++++++++--- .../component/keyValueEditor.vue | 93 ++++ 8 files changed, 1634 insertions(+), 107 deletions(-) create mode 100644 src/components/json-schema-editor/FieldConfigDialog.vue create mode 100644 src/components/json-schema-editor/JsonNode.vue create mode 100644 src/components/json-schema-editor/index.ts create mode 100644 src/components/json-schema-editor/index.vue create mode 100644 src/views/settings/modelConfigV2/component/keyValueEditor.vue diff --git a/src/api/settings/modelConfigV2/index.ts b/src/api/settings/modelConfigV2/index.ts index b3eedfb..92aa625 100644 --- a/src/api/settings/modelConfigV2/index.ts +++ b/src/api/settings/modelConfigV2/index.ts @@ -1,5 +1,28 @@ import request from '/@/utils/request'; +/** Token 映射 */ +export interface TokenMapping { + promptTokens: string; + completionTokens: string; + totalTokens: string; +} + +/** 异步任务映射 */ +export interface AsyncTaskMapping { + url: string; + httpMethod: string; + requestHeadMapping: Record; + responseMapping: Record; + taskId: string; + taskStatus: string; + taskStatusPending: string; + taskStatusRunning: string; + taskStatusSuccess: string; + taskStatusFailed: string; + taskStatusCancel: string; + taskStatusUnknown: string; +} + /** 列表查询参数 */ export interface ListModelManageParams { pageNum: number; @@ -21,16 +44,25 @@ export interface ModelManageItem { modelName: string; modelType: number; baseUrl: string; - systemModel: boolean; - httpMethod: string; - PrivateModel: boolean; - ChatModel: boolean; - invokeType: number; + responseType: number; apiKey: string; enabled: boolean; - requestMapping: Record; - responseMapping: Record; + ChatModel: boolean; maxConcurrency: number; + maxTokens: number; + tokenPredictPrice: number; + requestHeadMapping: Record; + requestBodyMapping: Record; + responseMapping: Record; + tokenMapping?: TokenMapping; + asyncTaskMapping?: AsyncTaskMapping; + lastFrame?: string; + // 以下旧字段兼容 + httpMethod?: string; + systemModel?: boolean; + PrivateModel?: boolean; + invokeType?: number; + requestMapping?: Record; } /** 列表响应 */ @@ -59,6 +91,21 @@ export interface ModelManageTypeResponse { }; } +/** 供应商列表项 */ +export interface ModelSupplierItem { + value: number; + label: string; +} + +/** 供应商列表响应 */ +export interface ModelSupplierListResponse { + code: number; + message: string; + data: { + list: ModelSupplierItem[]; + }; +} + /** * 获取模型配置列表(v2) */ @@ -91,21 +138,6 @@ export function deleteModelManage(id: string) { }); } -/** 供应商列表项 */ -export interface ModelSupplierItem { - value: number; - label: string; -} - -/** 供应商列表响应 */ -export interface ModelSupplierListResponse { - code: number; - message: string; - data: { - list: ModelSupplierItem[]; - }; -} - /** * 获取模型供应商列表 */ @@ -122,16 +154,19 @@ export interface CreateModelManageParams { modelName: string; modelType: number; baseUrl: string; - httpMethod: string; - systemModel?: boolean; - privateModel?: boolean; + responseType: number; + apiKey?: string; enabled?: boolean; chatModel?: boolean; - invokeType?: number; - apiKey?: string; - requestMapping?: Record; - responseMapping?: Record; maxConcurrency?: number; + maxTokens?: number; + tokenPredictPrice?: number; + requestHeadMapping?: Record; + requestBodyMapping?: Record; + responseMapping?: Record; + tokenMapping?: TokenMapping; + asyncTaskMapping?: AsyncTaskMapping; + lastFrame?: string; } /** 更新模型配置参数 */ diff --git a/src/components/json-schema-editor/FieldConfigDialog.vue b/src/components/json-schema-editor/FieldConfigDialog.vue new file mode 100644 index 0000000..bc223ca --- /dev/null +++ b/src/components/json-schema-editor/FieldConfigDialog.vue @@ -0,0 +1,361 @@ + + + + + diff --git a/src/components/json-schema-editor/JsonNode.vue b/src/components/json-schema-editor/JsonNode.vue new file mode 100644 index 0000000..66563d6 --- /dev/null +++ b/src/components/json-schema-editor/JsonNode.vue @@ -0,0 +1,257 @@ + + + + + diff --git a/src/components/json-schema-editor/index.ts b/src/components/json-schema-editor/index.ts new file mode 100644 index 0000000..0f8afb8 --- /dev/null +++ b/src/components/json-schema-editor/index.ts @@ -0,0 +1,6 @@ +import JsonEditor from './index.vue' +import JsonNode from './JsonNode.vue' +import FieldConfigDialog from './FieldConfigDialog.vue' + +export { JsonEditor, JsonNode, FieldConfigDialog } +export default JsonEditor diff --git a/src/components/json-schema-editor/index.vue b/src/components/json-schema-editor/index.vue new file mode 100644 index 0000000..7065d6f --- /dev/null +++ b/src/components/json-schema-editor/index.vue @@ -0,0 +1,512 @@ + + + + + diff --git a/src/types/json-schema-editor.d.ts b/src/types/json-schema-editor.d.ts index dc23eb2..653a5b1 100644 --- a/src/types/json-schema-editor.d.ts +++ b/src/types/json-schema-editor.d.ts @@ -8,3 +8,14 @@ declare module 'json-schema-editor' { export const FieldConfigDialog: DefineComponent; export const JsonNode: DefineComponent; } + +declare module '/@/components/json-schema-editor' { + import { DefineComponent } from 'vue'; + + export const JsonEditor: DefineComponent<{ + modelValue?: Record; + }>; + + export const FieldConfigDialog: DefineComponent; + export const JsonNode: DefineComponent; +} diff --git a/src/views/settings/modelConfigV2/component/editModule.vue b/src/views/settings/modelConfigV2/component/editModule.vue index e7b6f58..f5f94e7 100644 --- a/src/views/settings/modelConfigV2/component/editModule.vue +++ b/src/views/settings/modelConfigV2/component/editModule.vue @@ -1,6 +1,8 @@ + +