更新UI
This commit is contained in:
@@ -3,26 +3,57 @@ package config
|
||||
import "strings"
|
||||
|
||||
type SafeBrandingConfig struct {
|
||||
SiteName string `json:"siteName"`
|
||||
PortalTitle string `json:"portalTitle"`
|
||||
PortalSubtitle string `json:"portalSubtitle"`
|
||||
AdminTitle string `json:"adminTitle"`
|
||||
AdminSubtitle string `json:"adminSubtitle"`
|
||||
SiteIconURL string `json:"siteIconUrl"`
|
||||
LogoURL string `json:"logoUrl"`
|
||||
DeveloperAvatarURL string `json:"developerAvatarUrl"`
|
||||
DeveloperName string `json:"developerName"`
|
||||
FeedbackEmail string `json:"feedbackEmail"`
|
||||
}
|
||||
|
||||
func SafeBranding(cfg BrandingConfig) SafeBrandingConfig {
|
||||
normalized := NormalizeBranding(BrandingConfig{}, cfg)
|
||||
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")),
|
||||
SiteName: strings.TrimSpace(normalized.SiteName),
|
||||
PortalTitle: strings.TrimSpace(normalized.PortalTitle),
|
||||
PortalSubtitle: strings.TrimSpace(normalized.PortalSubtitle),
|
||||
AdminTitle: strings.TrimSpace(normalized.AdminTitle),
|
||||
AdminSubtitle: strings.TrimSpace(normalized.AdminSubtitle),
|
||||
SiteIconURL: strings.TrimSpace(normalized.SiteIconURL),
|
||||
LogoURL: strings.TrimSpace(normalized.LogoURL),
|
||||
DeveloperAvatarURL: strings.TrimSpace(normalized.DeveloperAvatarURL),
|
||||
DeveloperName: strings.TrimSpace(normalized.DeveloperName),
|
||||
FeedbackEmail: strings.TrimSpace(normalized.FeedbackEmail),
|
||||
}
|
||||
}
|
||||
|
||||
func NormalizeBranding(current BrandingConfig, incoming BrandingConfig) BrandingConfig {
|
||||
next := current
|
||||
if value := strings.TrimSpace(incoming.SiteName); value != "" {
|
||||
next.SiteName = value
|
||||
}
|
||||
if value := strings.TrimSpace(incoming.PortalTitle); value != "" {
|
||||
next.PortalTitle = value
|
||||
}
|
||||
if value := strings.TrimSpace(incoming.PortalSubtitle); value != "" {
|
||||
next.PortalSubtitle = value
|
||||
}
|
||||
if value := strings.TrimSpace(incoming.AdminTitle); value != "" {
|
||||
next.AdminTitle = value
|
||||
}
|
||||
if value := strings.TrimSpace(incoming.AdminSubtitle); value != "" {
|
||||
next.AdminSubtitle = value
|
||||
}
|
||||
if value := strings.TrimSpace(incoming.SiteIconURL); value != "" {
|
||||
next.SiteIconURL = value
|
||||
}
|
||||
if value := strings.TrimSpace(incoming.LogoURL); value != "" {
|
||||
next.LogoURL = value
|
||||
}
|
||||
if value := strings.TrimSpace(incoming.DeveloperAvatarURL); value != "" {
|
||||
next.DeveloperAvatarURL = value
|
||||
}
|
||||
@@ -32,9 +63,27 @@ func NormalizeBranding(current BrandingConfig, incoming BrandingConfig) Branding
|
||||
if value := strings.TrimSpace(incoming.FeedbackEmail); value != "" {
|
||||
next.FeedbackEmail = value
|
||||
}
|
||||
if next.SiteName == "" {
|
||||
next.SiteName = "YMhut Box"
|
||||
}
|
||||
if next.PortalTitle == "" {
|
||||
next.PortalTitle = next.SiteName + " 统一服务门户"
|
||||
}
|
||||
if next.PortalSubtitle == "" {
|
||||
next.PortalSubtitle = "统一发布、反馈与接口源状态门户"
|
||||
}
|
||||
if next.AdminTitle == "" {
|
||||
next.AdminTitle = "YMhut 统一管理台"
|
||||
}
|
||||
if next.AdminSubtitle == "" {
|
||||
next.AdminSubtitle = "发布、反馈、接口源与系统运维"
|
||||
}
|
||||
if next.SiteIconURL == "" {
|
||||
next.SiteIconURL = "/assets/favicon.ico"
|
||||
}
|
||||
if next.LogoURL == "" {
|
||||
next.LogoURL = next.SiteIconURL
|
||||
}
|
||||
if next.DeveloperAvatarURL == "" {
|
||||
next.DeveloperAvatarURL = "/assets/developer-avatar.png"
|
||||
}
|
||||
|
||||
@@ -72,7 +72,13 @@ type MailConfig struct {
|
||||
}
|
||||
|
||||
type BrandingConfig struct {
|
||||
SiteName string `json:"site_name"`
|
||||
PortalTitle string `json:"portal_title"`
|
||||
PortalSubtitle string `json:"portal_subtitle"`
|
||||
AdminTitle string `json:"admin_title"`
|
||||
AdminSubtitle string `json:"admin_subtitle"`
|
||||
SiteIconURL string `json:"site_icon_url"`
|
||||
LogoURL string `json:"logo_url"`
|
||||
DeveloperAvatarURL string `json:"developer_avatar_url"`
|
||||
DeveloperName string `json:"developer_name"`
|
||||
FeedbackEmail string `json:"feedback_email"`
|
||||
@@ -163,7 +169,13 @@ func defaults(root string) *Config {
|
||||
TimeoutSeconds: 20,
|
||||
},
|
||||
Branding: BrandingConfig{
|
||||
SiteName: "YMhut Box",
|
||||
PortalTitle: "YMhut Box 统一服务门户",
|
||||
PortalSubtitle: "统一发布、反馈与接口源状态门户",
|
||||
AdminTitle: "YMhut 统一管理台",
|
||||
AdminSubtitle: "发布、反馈、接口源与系统运维",
|
||||
SiteIconURL: "/assets/favicon.ico",
|
||||
LogoURL: "/assets/favicon.ico",
|
||||
DeveloperAvatarURL: "/assets/developer-avatar.png",
|
||||
DeveloperName: "YMhut",
|
||||
FeedbackEmail: "support@ymhut.cn",
|
||||
@@ -276,6 +288,24 @@ func applyEnv(cfg *Config) {
|
||||
if value := os.Getenv("YMHUT_BRAND_ICON_URL"); value != "" {
|
||||
cfg.Branding.SiteIconURL = value
|
||||
}
|
||||
if value := os.Getenv("YMHUT_BRAND_SITE_NAME"); value != "" {
|
||||
cfg.Branding.SiteName = value
|
||||
}
|
||||
if value := os.Getenv("YMHUT_BRAND_PORTAL_TITLE"); value != "" {
|
||||
cfg.Branding.PortalTitle = value
|
||||
}
|
||||
if value := os.Getenv("YMHUT_BRAND_PORTAL_SUBTITLE"); value != "" {
|
||||
cfg.Branding.PortalSubtitle = value
|
||||
}
|
||||
if value := os.Getenv("YMHUT_BRAND_ADMIN_TITLE"); value != "" {
|
||||
cfg.Branding.AdminTitle = value
|
||||
}
|
||||
if value := os.Getenv("YMHUT_BRAND_ADMIN_SUBTITLE"); value != "" {
|
||||
cfg.Branding.AdminSubtitle = value
|
||||
}
|
||||
if value := os.Getenv("YMHUT_BRAND_LOGO_URL"); value != "" {
|
||||
cfg.Branding.LogoURL = value
|
||||
}
|
||||
if value := os.Getenv("YMHUT_BRAND_DEVELOPER_AVATAR_URL"); value != "" {
|
||||
cfg.Branding.DeveloperAvatarURL = value
|
||||
}
|
||||
@@ -453,9 +483,27 @@ func normalize(root string, cfg *Config) {
|
||||
if cfg.Mail.TimeoutSeconds <= 0 {
|
||||
cfg.Mail.TimeoutSeconds = 20
|
||||
}
|
||||
if cfg.Branding.SiteName == "" {
|
||||
cfg.Branding.SiteName = "YMhut Box"
|
||||
}
|
||||
if cfg.Branding.PortalTitle == "" {
|
||||
cfg.Branding.PortalTitle = cfg.Branding.SiteName + " 统一服务门户"
|
||||
}
|
||||
if cfg.Branding.PortalSubtitle == "" {
|
||||
cfg.Branding.PortalSubtitle = "统一发布、反馈与接口源状态门户"
|
||||
}
|
||||
if cfg.Branding.AdminTitle == "" {
|
||||
cfg.Branding.AdminTitle = "YMhut 统一管理台"
|
||||
}
|
||||
if cfg.Branding.AdminSubtitle == "" {
|
||||
cfg.Branding.AdminSubtitle = "发布、反馈、接口源与系统运维"
|
||||
}
|
||||
if cfg.Branding.SiteIconURL == "" {
|
||||
cfg.Branding.SiteIconURL = "/assets/favicon.ico"
|
||||
}
|
||||
if cfg.Branding.LogoURL == "" {
|
||||
cfg.Branding.LogoURL = cfg.Branding.SiteIconURL
|
||||
}
|
||||
if cfg.Branding.DeveloperAvatarURL == "" {
|
||||
cfg.Branding.DeveloperAvatarURL = "/assets/developer-avatar.png"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user