From 3e90eefd51f4ffb033ab83658f55bc343c2e27f0 Mon Sep 17 00:00:00 2001 From: lafay <2021211506@stu.hit.edu.cn> Date: Fri, 24 Apr 2026 16:43:12 +0800 Subject: [PATCH] chore(utils): replace UI Avatars API with static default avatar Remove external UI Avatars API dependency and use a static default avatar URL instead. Simplifies avatar utility functions by eliminating dynamic avatar generation. --- internal/pkg/utils/avatar.go | 36 ++-------------------- internal/service/system_message_service.go | 4 +-- 2 files changed, 4 insertions(+), 36 deletions(-) diff --git a/internal/pkg/utils/avatar.go b/internal/pkg/utils/avatar.go index 3282ba7..b030513 100644 --- a/internal/pkg/utils/avatar.go +++ b/internal/pkg/utils/avatar.go @@ -1,52 +1,20 @@ package utils -import ( - "net/url" -) +const DefaultAvatarURL = "https://storage.littlelan.cn/withyou/avatars/74d567f5b8ab536483355a09a9767c77934bd0f1fd6de880b3a1c86f54e366e9.png" -// AvatarServiceBaseURL 默认头像服务基础URL (使用 UI Avatars API) -const AvatarServiceBaseURL = "https://ui-avatars.com/api" - -// DefaultAvatarSize 默认头像尺寸 -const DefaultAvatarSize = 100 - -// AvatarInfo 头像信息 type AvatarInfo struct { Username string Nickname string Avatar string } -// GetAvatarOrDefault 获取头像URL,如果为空则返回在线头像生成服务的URL -// 优先使用已有的头像,否则使用昵称或用户名生成默认头像 func GetAvatarOrDefault(username, nickname, avatar string) string { if avatar != "" { return avatar } - // 使用用户名生成默认头像URL(优先使用昵称) - displayName := nickname - if displayName == "" { - displayName = username - } - return GenerateDefaultAvatarURL(displayName) + return DefaultAvatarURL } -// GetAvatarOrDefaultFromInfo 从 AvatarInfo 获取头像URL func GetAvatarOrDefaultFromInfo(info AvatarInfo) string { return GetAvatarOrDefault(info.Username, info.Nickname, info.Avatar) } - -// GenerateDefaultAvatarURL 生成默认头像URL -// 使用 UI Avatars API 生成基于用户名首字母的头像 -func GenerateDefaultAvatarURL(name string) string { - if name == "" { - name = "?" - } - // 使用 UI Avatars API 生成头像 - params := url.Values{} - params.Set("name", url.QueryEscape(name)) - params.Set("size", "100") - params.Set("background", "0D8ABC") // 默认蓝色背景 - params.Set("color", "ffffff") // 白色文字 - return AvatarServiceBaseURL + "?" + params.Encode() -} diff --git a/internal/service/system_message_service.go b/internal/service/system_message_service.go index a7e5a82..ce00892 100644 --- a/internal/service/system_message_service.go +++ b/internal/service/system_message_service.go @@ -461,13 +461,13 @@ func (s *systemMessageServiceImpl) getActorInfo(ctx context.Context, operatorID if s.userRepo != nil { user, err := s.userRepo.GetByID(operatorID) if err != nil { - return "用户", utils.GenerateDefaultAvatarURL("用户"), nil // 返回默认值,不阻断流程 + return "用户", utils.DefaultAvatarURL, nil } avatar := utils.GetAvatarOrDefault(user.Username, user.Nickname, user.Avatar) return user.Nickname, avatar, nil } // 如果没有用户仓储,返回默认值 - return "用户", utils.GenerateDefaultAvatarURL("用户"), nil + return "用户", utils.DefaultAvatarURL, nil } // getPostTitle 获取帖子标题