From 6836bc59b78ee3f8e2791f849931735a344ae475 Mon Sep 17 00:00:00 2001 From: Leo <98382335+gaoziman@users.noreply.github.com> Date: Mon, 22 Sep 2025 23:01:09 +0800 Subject: [PATCH] =?UTF-8?q?feat(personal):=20=E4=BC=98=E5=8C=96=E4=B8=AA?= =?UTF-8?q?=E4=BA=BA=E4=B8=AD=E5=BF=83=E5=A4=B4=E5=83=8F=E4=B8=8A=E4=BC=A0?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 改进头像URL处理逻辑,智能识别相对路径和完整URL - 兼容不同存储服务的返回格式(本地存储、MinIO、OSS) - 本地存储返回相对路径时自动添加服务地址前缀 - MinIO和OSS返回完整URL时直接使用,无需额外处理 - 提升多存储服务环境下的用户体验 --- src/views/personal-center/index.vue | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/views/personal-center/index.vue b/src/views/personal-center/index.vue index 1774f7d..da3944c 100644 --- a/src/views/personal-center/index.vue +++ b/src/views/personal-center/index.vue @@ -433,9 +433,15 @@ async function handleAvatarChange(event: Event) { uploading.value = true const result = await uploadAvatar(file, 2) if (result.isSuccess) { - // 使用配置文件中的服务地址构建头像访问URL - const baseUrl = serviceConfig[import.meta.env.MODE].url - const avatarUrl = `${baseUrl}${result.data.fileUploadPath}` + // 智能处理头像访问URL + let avatarUrl = result.data.fileUploadPath + + // 如果返回的不是完整URL(如本地存储返回相对路径),则添加服务地址前缀 + if (!avatarUrl.startsWith('http://') && !avatarUrl.startsWith('https://')) { + const baseUrl = serviceConfig[import.meta.env.MODE].url + avatarUrl = `${baseUrl}${avatarUrl}` + } + // 如果返回的是完整URL(如MinIO、OSS),直接使用 basicForm.value.avatar = avatarUrl personalData.value.avatar = avatarUrl