diff --git a/src/api/digitalHuman/modelConfig/modelModule/index.ts b/src/api/digitalHuman/modelConfig/modelModule/index.ts new file mode 100644 index 0000000..c7c4ae9 --- /dev/null +++ b/src/api/digitalHuman/modelConfig/modelModule/index.ts @@ -0,0 +1,137 @@ +import request from '/@/utils/request'; + +export interface ModelModuleListParams { + pageNum?: number; + pageSize?: number; + keyword?: string; +} + +export interface ModelFormItem { + field: string; + label: string; + required: boolean; + type: 'input' | 'number' | 'textarea' | 'switch' | string; +} + +export interface ModelModuleItem { + id: number | string; + tenantId?: number; + creator?: string; + createdAt?: string; + updater?: string; + updatedAt?: string; + deletedAt?: string | null; + isDeleted?: boolean; + modelName: string; + baseUrl: string; + route: string; + httpMethod: string; + apiKey?: string; + enabled: number; + maxConcurrency: number; + queueLimit: number; + timeoutMs: number; + retryTimes: number; + retryQueueMaxSeconds: number; + autoCleanSeconds: number; + remark?: string; +} + +export interface ModelModuleListResponse { + code: number; + message: string; + data: { + list: ModelModuleItem[]; + total: number; + }; +} + +export interface CreateModelParams { + modelName: string; + modelsType: number; + baseUrl: string; + route: string; + httpMethod: string; + headMsg?: string; + enabled: number; + maxConcurrency: number; + queueLimit: number; + timeoutSeconds: number; + expectedSeconds: number; + retryTimes: number; + retryQueueMaxSeconds: number; + autoCleanSeconds: number; + remark?: string; +} + +export interface ModelConfigTypeItem { + id: number | string; + name: string; + form: ModelFormItem[]; +} + +export interface ModelConfigGroup { + typeId: number; + type: string; + items: ModelConfigTypeItem[]; +} + +export interface ModelConfigResponse { + code: number; + message: string; + data: ModelConfigGroup[]; +} + +/** + * 获取模型列表 + */ +export function getModelModuleList(params?: ModelModuleListParams) { + return request({ + url: '/model-gateway/model/listModel', + method: 'get', + params, + }); +} + +/** + * 新增模型配置 + */ +export function addModelModule(data: CreateModelParams) { + return request({ + url: '/model-gateway/model/createModel', + method: 'post', + data, + }); +} + +/** + * 修改模型配置 + */ +export function updateModelModule(data: Partial & { id: number | string }) { + return request({ + url: '/model-gateway/model/updateModel', + method: 'post', + data, + }); +} + +/** + * 删除模型配置 + */ +export function deleteModelModule(id: number | string) { + return request({ + url: '/model-gateway/model/deleteModel', + method: 'post', + data: { id }, + }); +} + +/** + * 获取模型配置(按类型分组) + */ +export function getModelConfig() { + return request({ + url: '/model-gateway/model/getModel', + method: 'get', + }); +} diff --git a/src/api/digitalHuman/modelConfig/modelType/index.ts b/src/api/digitalHuman/modelConfig/modelType/index.ts new file mode 100644 index 0000000..acdd698 --- /dev/null +++ b/src/api/digitalHuman/modelConfig/modelType/index.ts @@ -0,0 +1,79 @@ +import request from '/@/utils/request'; + +export interface ModelTypeListParams { + pageNum: number; + pageSize: number; + keyword?: string; +} + +export interface ModelTypeItem { + id: string; + typeName: string; + typeCode: string; + description?: string; + status: number; + createTime?: string; + updateTime?: string; +} + +export interface ModelTypeListResponse { + code: number; + message: string; + data: { + list: ModelTypeItem[]; + total: number; + }; +} + +/** + * 获取模型类型列表 + */ +export function getModelTypeList(params: ModelTypeListParams) { + return request({ + url: '/api/digital-human/model-config/model-type/list', + method: 'get', + params, + }); +} + +/** + * 新增模型类型 + */ +export function addModelType(data: Partial) { + return request({ + url: '/api/digital-human/model-config/model-type/add', + method: 'post', + data, + }); +} + +/** + * 修改模型类型 + */ +export function updateModelType(data: Partial) { + return request({ + url: '/api/digital-human/model-config/model-type/update', + method: 'put', + data, + }); +} + +/** + * 删除模型类型 + */ +export function deleteModelType(id: string) { + return request({ + url: `/api/digital-human/model-config/model-type/delete/${id}`, + method: 'delete', + }); +} + +/** + * 获取模型类型详情 + */ +export function getModelTypeDetail(id: string) { + return request({ + url: `/api/digital-human/model-config/model-type/detail/${id}`, + method: 'get', + }); +} diff --git a/src/views/digitalHuman/modelConfig/modelModule/component/editModule.vue b/src/views/digitalHuman/modelConfig/modelModule/component/editModule.vue new file mode 100644 index 0000000..7be0ff2 --- /dev/null +++ b/src/views/digitalHuman/modelConfig/modelModule/component/editModule.vue @@ -0,0 +1,241 @@ + + + diff --git a/src/views/digitalHuman/modelConfig/modelModule/index.vue b/src/views/digitalHuman/modelConfig/modelModule/index.vue new file mode 100644 index 0000000..384ba7b --- /dev/null +++ b/src/views/digitalHuman/modelConfig/modelModule/index.vue @@ -0,0 +1,157 @@ + + + + + diff --git a/src/views/digitalHuman/modelConfig/modelType/index.vue b/src/views/digitalHuman/modelConfig/modelType/index.vue new file mode 100644 index 0000000..5e24f96 --- /dev/null +++ b/src/views/digitalHuman/modelConfig/modelType/index.vue @@ -0,0 +1,127 @@ + + + + +