49 lines
1.6 KiB
Go
49 lines
1.6 KiB
Go
package config
|
|
|
|
import "strings"
|
|
|
|
type SafeBrandingConfig struct {
|
|
SiteIconURL string `json:"siteIconUrl"`
|
|
DeveloperAvatarURL string `json:"developerAvatarUrl"`
|
|
DeveloperName string `json:"developerName"`
|
|
FeedbackEmail string `json:"feedbackEmail"`
|
|
}
|
|
|
|
func SafeBranding(cfg BrandingConfig) SafeBrandingConfig {
|
|
return SafeBrandingConfig{
|
|
SiteIconURL: strings.TrimSpace(cfg.SiteIconURL),
|
|
DeveloperAvatarURL: strings.TrimSpace(cfg.DeveloperAvatarURL),
|
|
DeveloperName: strings.TrimSpace(firstNonEmpty(cfg.DeveloperName, "YMhut")),
|
|
FeedbackEmail: strings.TrimSpace(firstNonEmpty(cfg.FeedbackEmail, "support@ymhut.cn")),
|
|
}
|
|
}
|
|
|
|
func NormalizeBranding(current BrandingConfig, incoming BrandingConfig) BrandingConfig {
|
|
next := current
|
|
if value := strings.TrimSpace(incoming.SiteIconURL); value != "" {
|
|
next.SiteIconURL = value
|
|
}
|
|
if value := strings.TrimSpace(incoming.DeveloperAvatarURL); value != "" {
|
|
next.DeveloperAvatarURL = value
|
|
}
|
|
if value := strings.TrimSpace(incoming.DeveloperName); value != "" {
|
|
next.DeveloperName = value
|
|
}
|
|
if value := strings.TrimSpace(incoming.FeedbackEmail); value != "" {
|
|
next.FeedbackEmail = value
|
|
}
|
|
if next.SiteIconURL == "" {
|
|
next.SiteIconURL = "https://img.ymhut.cn/file/1782108850041_icon.webp"
|
|
}
|
|
if next.DeveloperAvatarURL == "" {
|
|
next.DeveloperAvatarURL = "https://img.ymhut.cn/file/1782108780690_b_3db45f3787f19192c8de8e06bc0987ef.webp"
|
|
}
|
|
if next.DeveloperName == "" {
|
|
next.DeveloperName = "YMhut"
|
|
}
|
|
if next.FeedbackEmail == "" {
|
|
next.FeedbackEmail = "support@ymhut.cn"
|
|
}
|
|
return next
|
|
}
|