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
|
||||
|
||||
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()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user