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.
This commit is contained in:
@@ -1,52 +1,20 @@
|
|||||||
package utils
|
package utils
|
||||||
|
|
||||||
import (
|
const DefaultAvatarURL = "https://storage.littlelan.cn/withyou/avatars/74d567f5b8ab536483355a09a9767c77934bd0f1fd6de880b3a1c86f54e366e9.png"
|
||||||
"net/url"
|
|
||||||
)
|
|
||||||
|
|
||||||
// AvatarServiceBaseURL 默认头像服务基础URL (使用 UI Avatars API)
|
|
||||||
const AvatarServiceBaseURL = "https://ui-avatars.com/api"
|
|
||||||
|
|
||||||
// DefaultAvatarSize 默认头像尺寸
|
|
||||||
const DefaultAvatarSize = 100
|
|
||||||
|
|
||||||
// AvatarInfo 头像信息
|
|
||||||
type AvatarInfo struct {
|
type AvatarInfo struct {
|
||||||
Username string
|
Username string
|
||||||
Nickname string
|
Nickname string
|
||||||
Avatar string
|
Avatar string
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetAvatarOrDefault 获取头像URL,如果为空则返回在线头像生成服务的URL
|
|
||||||
// 优先使用已有的头像,否则使用昵称或用户名生成默认头像
|
|
||||||
func GetAvatarOrDefault(username, nickname, avatar string) string {
|
func GetAvatarOrDefault(username, nickname, avatar string) string {
|
||||||
if avatar != "" {
|
if avatar != "" {
|
||||||
return avatar
|
return avatar
|
||||||
}
|
}
|
||||||
// 使用用户名生成默认头像URL(优先使用昵称)
|
return DefaultAvatarURL
|
||||||
displayName := nickname
|
|
||||||
if displayName == "" {
|
|
||||||
displayName = username
|
|
||||||
}
|
|
||||||
return GenerateDefaultAvatarURL(displayName)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetAvatarOrDefaultFromInfo 从 AvatarInfo 获取头像URL
|
|
||||||
func GetAvatarOrDefaultFromInfo(info AvatarInfo) string {
|
func GetAvatarOrDefaultFromInfo(info AvatarInfo) string {
|
||||||
return GetAvatarOrDefault(info.Username, info.Nickname, info.Avatar)
|
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()
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -461,13 +461,13 @@ func (s *systemMessageServiceImpl) getActorInfo(ctx context.Context, operatorID
|
|||||||
if s.userRepo != nil {
|
if s.userRepo != nil {
|
||||||
user, err := s.userRepo.GetByID(operatorID)
|
user, err := s.userRepo.GetByID(operatorID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "用户", utils.GenerateDefaultAvatarURL("用户"), nil // 返回默认值,不阻断流程
|
return "用户", utils.DefaultAvatarURL, nil
|
||||||
}
|
}
|
||||||
avatar := utils.GetAvatarOrDefault(user.Username, user.Nickname, user.Avatar)
|
avatar := utils.GetAvatarOrDefault(user.Username, user.Nickname, user.Avatar)
|
||||||
return user.Nickname, avatar, nil
|
return user.Nickname, avatar, nil
|
||||||
}
|
}
|
||||||
// 如果没有用户仓储,返回默认值
|
// 如果没有用户仓储,返回默认值
|
||||||
return "用户", utils.GenerateDefaultAvatarURL("用户"), nil
|
return "用户", utils.DefaultAvatarURL, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// getPostTitle 获取帖子标题
|
// getPostTitle 获取帖子标题
|
||||||
|
|||||||
Reference in New Issue
Block a user