core v1
This commit is contained in:
28
server/internal/util/avatar.go
Normal file
28
server/internal/util/avatar.go
Normal file
@@ -0,0 +1,28 @@
|
||||
package util
|
||||
|
||||
import "strings"
|
||||
|
||||
func NormalizeAvatarURL(raw string) string {
|
||||
raw = strings.TrimSpace(raw)
|
||||
if raw == "" {
|
||||
return ""
|
||||
}
|
||||
if strings.HasPrefix(raw, "//") {
|
||||
return "https:" + raw
|
||||
}
|
||||
return raw
|
||||
}
|
||||
|
||||
func PickAvatarFromMap(m map[string]interface{}) string {
|
||||
if m == nil {
|
||||
return ""
|
||||
}
|
||||
for _, key := range []string{"avatar", "avatarUrl", "avatar_url", "profileImage"} {
|
||||
if av, ok := m[key].(string); ok {
|
||||
if normalized := NormalizeAvatarURL(av); normalized != "" {
|
||||
return normalized
|
||||
}
|
||||
}
|
||||
}
|
||||
return ""
|
||||
}
|
||||
Reference in New Issue
Block a user