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