From a9a0033dcf7c2db0ef8d6918548fb62959990ca8 Mon Sep 17 00:00:00 2001 From: cc500 <2014434568@qq.com> Date: Mon, 23 Jun 2025 11:33:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20mcp=20=E4=B8=8A=E4=BC=A0ic?= =?UTF-8?q?on=20=E6=8E=A5=E5=8F=A3=E4=B8=8E=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/apis/paths/mcp.ts | 22 +++++++++++++++++++ .../createapp/components/AgentAppConfig.vue | 9 ++++++++ src/views/createapp/index.vue | 3 ++- 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/apis/paths/mcp.ts b/src/apis/paths/mcp.ts index 7d72973..3d95daa 100644 --- a/src/apis/paths/mcp.ts +++ b/src/apis/paths/mcp.ts @@ -83,10 +83,32 @@ const activeMcpService = (id: string, active: boolean) => { return post<{ serviceId: string }>(`${MCP_BASE_URL}/${id}`, { active }); }; +// 定义一个名为uploadMcpIcon的函数,接收两个参数id和active +const uploadMcpIcon = (params: { + service_id: string; + edit: boolean; + icon: File; +}) => { + console.log('uploadMcpIcon', params.icon); + const formData = new FormData(); + formData.append('icon', params.icon); + // 使用post方法向MCP_BASE_URL/${id}发送请求,请求体为{ icon: params.icon } + return post<{ icon: string }>( + `${MCP_BASE_URL}`, + formData, + { + service_id: params.service_id, + edit: params.edit, + }, + { 'Content-Type': 'multipart/form-data' }, + ); +}; + export const mcpApi = { getMcpList, getMcpServiceDetail, createOrUpdateMcpService, deleteMcpService, activeMcpService, + uploadMcpIcon, }; diff --git a/src/views/createapp/components/AgentAppConfig.vue b/src/views/createapp/components/AgentAppConfig.vue index 743158e..33e17df 100644 --- a/src/views/createapp/components/AgentAppConfig.vue +++ b/src/views/createapp/components/AgentAppConfig.vue @@ -139,6 +139,15 @@ const beforeIconUpload: UploadProps['beforeUpload'] = async (rawFile) => { const reader = new FileReader(); reader.onload = (e) => { createAppForm.icon = e.target?.result as string; + // 在上传时直接upload icon + (async() => { + console.log('Uploading icon...',rawFile,e.target?.result); + await api.uploadMcpIcon({ + icon: rawFile, + service_id: route.query?.appId as string, + edit: true, + }); + })() }; reader.readAsDataURL(rawFile); return false; diff --git a/src/views/createapp/index.vue b/src/views/createapp/index.vue index b1199af..303ad5e 100644 --- a/src/views/createapp/index.vue +++ b/src/views/createapp/index.vue @@ -137,10 +137,11 @@ const saveApp = async (type: 'agent' | 'flow') => { } else if (type === 'agent') { const formData = agentAppConfigRef.value.createAppForm; if (!formData) return; + // 配置 agent 接口去掉icon const [, res] = await api.createOrUpdateApp({ appId: route.query?.appId as string, appType: type, - icon: formData.icon, + // icon: formData.icon, name: formData.name, description: formData.description, dialogRounds: formData.dialogRounds, -- Gitee