删除服务端材质渲染功能及system_config表,转为环境变量配置,初步配置管理员功能
This commit is contained in:
@@ -14,6 +14,7 @@ import (
|
||||
// Config 应用配置结构体
|
||||
type Config struct {
|
||||
Environment string `mapstructure:"environment"`
|
||||
Site SiteConfig `mapstructure:"site"`
|
||||
Server ServerConfig `mapstructure:"server"`
|
||||
Database DatabaseConfig `mapstructure:"database"`
|
||||
Redis RedisConfig `mapstructure:"redis"`
|
||||
@@ -25,6 +26,18 @@ type Config struct {
|
||||
Security SecurityConfig `mapstructure:"security"`
|
||||
}
|
||||
|
||||
// SiteConfig 站点配置
|
||||
type SiteConfig struct {
|
||||
Name string `mapstructure:"name"`
|
||||
Description string `mapstructure:"description"`
|
||||
RegistrationEnabled bool `mapstructure:"registration_enabled"`
|
||||
DefaultAvatar string `mapstructure:"default_avatar"`
|
||||
MaxTexturesPerUser int `mapstructure:"max_textures_per_user"`
|
||||
MaxProfilesPerUser int `mapstructure:"max_profiles_per_user"`
|
||||
CheckinReward int `mapstructure:"checkin_reward"`
|
||||
TextureDownloadReward int `mapstructure:"texture_download_reward"`
|
||||
}
|
||||
|
||||
// ServerConfig 服务器配置
|
||||
type ServerConfig struct {
|
||||
Port string `mapstructure:"port"`
|
||||
@@ -201,6 +214,16 @@ func setDefaults() {
|
||||
// 安全默认配置
|
||||
viper.SetDefault("security.allowed_origins", []string{"*"})
|
||||
viper.SetDefault("security.allowed_domains", []string{"localhost", "127.0.0.1"})
|
||||
|
||||
// 站点默认配置
|
||||
viper.SetDefault("site.name", "CarrotSkin")
|
||||
viper.SetDefault("site.description", "一个优秀的Minecraft皮肤站")
|
||||
viper.SetDefault("site.registration_enabled", true)
|
||||
viper.SetDefault("site.default_avatar", "")
|
||||
viper.SetDefault("site.max_textures_per_user", 50)
|
||||
viper.SetDefault("site.max_profiles_per_user", 5)
|
||||
viper.SetDefault("site.checkin_reward", 10)
|
||||
viper.SetDefault("site.texture_download_reward", 1)
|
||||
}
|
||||
|
||||
// setupEnvMappings 设置环境变量映射
|
||||
@@ -262,6 +285,16 @@ func setupEnvMappings() {
|
||||
viper.BindEnv("email.username", "EMAIL_USERNAME")
|
||||
viper.BindEnv("email.password", "EMAIL_PASSWORD")
|
||||
viper.BindEnv("email.from_name", "EMAIL_FROM_NAME")
|
||||
|
||||
// 站点配置
|
||||
viper.BindEnv("site.name", "SITE_NAME")
|
||||
viper.BindEnv("site.description", "SITE_DESCRIPTION")
|
||||
viper.BindEnv("site.registration_enabled", "REGISTRATION_ENABLED")
|
||||
viper.BindEnv("site.default_avatar", "DEFAULT_AVATAR")
|
||||
viper.BindEnv("site.max_textures_per_user", "MAX_TEXTURES_PER_USER")
|
||||
viper.BindEnv("site.max_profiles_per_user", "MAX_PROFILES_PER_USER")
|
||||
viper.BindEnv("site.checkin_reward", "CHECKIN_REWARD")
|
||||
viper.BindEnv("site.texture_download_reward", "TEXTURE_DOWNLOAD_REWARD")
|
||||
}
|
||||
|
||||
// overrideFromEnv 从环境变量中覆盖配置
|
||||
|
||||
Reference in New Issue
Block a user