diff --git a/src/api/common/upload.ts b/src/api/common/upload.ts new file mode 100644 index 0000000..736cfac --- /dev/null +++ b/src/api/common/upload.ts @@ -0,0 +1,32 @@ +import request from '/@/utils/request'; + +// OSS 上传响应 +export interface OssUploadResponse { + fileName: string; + fileURL: string; + fileSize: number; + fileFormat: string; + fileAddressPrefix: string; + files: any; +} + +/** + * 公共文件上传到 OSS + * @param file 文件对象 + * @param config 请求配置 + * @returns 返回文件名、文件地址、文件大小等信息 + */ +export function uploadFile(file: File, config?: any) { + const formData = new FormData(); + formData.append('file', file); + + return request({ + url: '/oss/file/uploadFile', + method: 'post', + data: formData, + headers: { + 'Content-Type': 'multipart/form-data', + }, + ...config, + }); +} diff --git a/src/api/digitalHuman/creation/index.ts b/src/api/digitalHuman/creation/index.ts index 03fb783..e22a6aa 100644 --- a/src/api/digitalHuman/creation/index.ts +++ b/src/api/digitalHuman/creation/index.ts @@ -22,6 +22,7 @@ export interface NodeLibraryModelConfig { export interface NodeLibraryItem { nodeCode: string; nodeName: string; + skillOption: boolean; formConfig: NodeLibraryFormItem[]; modelConfig: NodeLibraryModelConfig[]; } @@ -106,7 +107,7 @@ export function getCreationList(params: CreationListParams, requestOptions?: Req export function getNodeLibraryList(requestOptions?: RequestOptions) { return request({ - url: '/black-deacon/node/library/list', + url: '/ai-agent/node/library/list', method: 'get', requestOptions, }) as Promise; @@ -134,7 +135,7 @@ export function downloadToFile(data: DownloadToFileParams, requestOptions?: Requ export function saveWorkflow(data: { flowName: string; description: string; flowContent: any }, requestOptions?: RequestOptions) { return request({ - url: '/black-deacon/flow/user/create', + url: '/ai-agent/flow/user/create', method: 'post', data, requestOptions, @@ -159,7 +160,7 @@ export interface WorkflowListResponse { export function getWorkflowList(requestOptions?: RequestOptions) { return request({ - url: '/black-deacon/flow/user/list', + url: '/ai-agent/flow/user/list', method: 'get', requestOptions, }) as Promise; @@ -173,7 +174,7 @@ export interface WorkflowDetailResponse { export function getWorkflowDetail(id: string, requestOptions?: RequestOptions) { return request({ - url: '/black-deacon/flow/user/get', + url: '/ai-agent/flow/user/get', method: 'get', params: { id }, requestOptions, @@ -182,7 +183,7 @@ export function getWorkflowDetail(id: string, requestOptions?: RequestOptions) { export function updateWorkflow(data: { id: string; flowName: string; description: string; flowContent: any }, requestOptions?: RequestOptions) { return request({ - url: '/black-deacon/flow/user/update', + url: '/ai-agent/flow/user/update', method: 'put', data, requestOptions, @@ -191,7 +192,7 @@ export function updateWorkflow(data: { id: string; flowName: string; description export function deleteWorkflow(id: string, requestOptions?: RequestOptions) { return request({ - url: '/black-deacon/flow/user/delete', + url: '/ai-agent/flow/user/delete', method: 'delete', params: { id }, requestOptions, diff --git a/src/api/digitalHuman/modelConfig/modelType/index.ts b/src/api/digitalHuman/modelConfig/modelType/index.ts index acdd698..e8306e6 100644 --- a/src/api/digitalHuman/modelConfig/modelType/index.ts +++ b/src/api/digitalHuman/modelConfig/modelType/index.ts @@ -30,7 +30,7 @@ export interface ModelTypeListResponse { */ export function getModelTypeList(params: ModelTypeListParams) { return request({ - url: '/api/digital-human/model-config/model-type/list', + url: '/api/ai-agent/model-config/model-type/list', method: 'get', params, }); @@ -41,7 +41,7 @@ export function getModelTypeList(params: ModelTypeListParams) { */ export function addModelType(data: Partial) { return request({ - url: '/api/digital-human/model-config/model-type/add', + url: '/api/ai-agent/model-config/model-type/add', method: 'post', data, }); @@ -52,7 +52,7 @@ export function addModelType(data: Partial) { */ export function updateModelType(data: Partial) { return request({ - url: '/api/digital-human/model-config/model-type/update', + url: '/api/ai-agent/model-config/model-type/update', method: 'put', data, }); @@ -63,7 +63,7 @@ export function updateModelType(data: Partial) { */ export function deleteModelType(id: string) { return request({ - url: `/api/digital-human/model-config/model-type/delete/${id}`, + url: `/api/ai-agent/model-config/model-type/delete/${id}`, method: 'delete', }); } @@ -73,7 +73,7 @@ export function deleteModelType(id: string) { */ export function getModelTypeDetail(id: string) { return request({ - url: `/api/digital-human/model-config/model-type/detail/${id}`, + url: `/api/ai-agent/model-config/model-type/detail/${id}`, method: 'get', }); } diff --git a/src/api/digitalHuman/skill/index.ts b/src/api/digitalHuman/skill/index.ts new file mode 100644 index 0000000..5874d09 --- /dev/null +++ b/src/api/digitalHuman/skill/index.ts @@ -0,0 +1,117 @@ +import request from '/@/utils/request'; + +// Skill 技能项 +export interface SkillItem { + id: number; + name: string; + description: string; + category: string; + fileName: string; + fileUrl: string; + createdAt: string; + updatedAt: string; +} + +// Skill 列表响应 +export interface SkillListResponse { + list: SkillItem[]; + total: number; +} + +// 创建 Skill 参数 +export interface CreateSkillParams { + name?: string; + description?: string; + category?: string; + fileName?: string; + fileUrl?: string; + [property: string]: any; +} + +// 系统技能列表查询参数 +export interface SkillListParams { + pageNum?: number; + pageSize?: number; + keyword?: string; + Total?: number; +} + +// 用户技能列表查询参数 +export interface UserSkillListParams { + pageNum?: number; + pageSize?: number; + keyword?: string; + Total?: number; +} + +/** + * 获取 Skill 系统技能列表 + */ +export function getSkillList(params?: SkillListParams, config?: any) { + return request({ + url: '/ai-agent/skill/template/list', + method: 'get', + params, + ...config, + }); +} + +/** + * 创建 Skill 系统技能 + */ +export function createSkill(data: CreateSkillParams, config?: any) { + return request({ + url: '/ai-agent/skill/template/create', + method: 'post', + data, + ...config, + }); +} + +/** + * 删除 Skill 系统技能 + */ +export function deleteSkill(id: number, config?: any) { + return request({ + url: '/ai-agent/skill/template/delete', + method: 'delete', + data: { id }, + ...config, + }); +} + +/** + * 获取 Skill 用户技能列表 + */ +export function getUserSkillList(params?: UserSkillListParams, config?: any) { + return request({ + url: '/ai-agent/skill/user/list', + method: 'get', + params, + ...config, + }); +} + +/** + * 创建 Skill 用户技能 + */ +export function createUserSkill(data: CreateSkillParams, config?: any) { + return request({ + url: '/ai-agent/skill/user/create', + method: 'post', + data, + ...config, + }); +} + +/** + * 删除 Skill 用户技能 + */ +export function deleteUserSkill(id: number, config?: any) { + return request({ + url: '/ai-agent/skill/user/delete', + method: 'delete', + data: { id }, + ...config, + }); +} diff --git a/src/api/knowledge/document/index.ts b/src/api/knowledge/document/index.ts index 0f83686..59bb25e 100644 --- a/src/api/knowledge/document/index.ts +++ b/src/api/knowledge/document/index.ts @@ -1,4 +1,8 @@ import request from '/@/utils/request'; +import { uploadFile } from '/@/api/common/upload'; + +// 导出公共上传函数供其他模块使用 +export { uploadFile }; // 文档查询参数 export interface DocumentQueryParams { @@ -114,18 +118,6 @@ export function updateDocument(data: UpdateDocumentParams) { }); } -// 公共文件上传(OSS),返回文件路径 -export function uploadFile(file: File) { - const formData = new FormData(); - formData.append('file', file); - return request({ - url: '/oss/file/uploadFile', - method: 'post', - data: formData, - headers: { 'Content-Type': 'multipart/form-data' }, - }); -} - // 上传文档 export function uploadDocument(data: FormData) { return request({ diff --git a/src/components/skill/NodeSkillSelector.vue b/src/components/skill/NodeSkillSelector.vue new file mode 100644 index 0000000..bface0e --- /dev/null +++ b/src/components/skill/NodeSkillSelector.vue @@ -0,0 +1,234 @@ + + + + + diff --git a/src/components/skill/SkillSelector.vue b/src/components/skill/SkillSelector.vue new file mode 100644 index 0000000..dc568bc --- /dev/null +++ b/src/components/skill/SkillSelector.vue @@ -0,0 +1,196 @@ + + + + + diff --git a/src/views/digitalHuman/creation/index.vue b/src/views/digitalHuman/creation/index.vue index c3a0a4a..974979b 100644 --- a/src/views/digitalHuman/creation/index.vue +++ b/src/views/digitalHuman/creation/index.vue @@ -58,6 +58,20 @@ + + +
+ + + 选择技能 + +
+ + {{ selectedSkill.name }} + +
+
+
-
+
{{ node.name }} @@ -200,9 +211,9 @@
- - - diff --git a/src/views/digitalHuman/skill/index.vue b/src/views/digitalHuman/skill/index.vue new file mode 100644 index 0000000..a8a49e8 --- /dev/null +++ b/src/views/digitalHuman/skill/index.vue @@ -0,0 +1,471 @@ + + + + +