Add OSS site image uploads for aftersales

This commit is contained in:
Frudrax Cheng
2026-06-02 11:04:25 +08:00
parent 1ebec18869
commit 35cd939b92
10 changed files with 311 additions and 2 deletions
+34
View File
@@ -43,11 +43,25 @@ type JWTConfig struct {
Expire int `mapstructure:"expire"`
}
// OSSConfig 阿里云 OSS 配置
type OSSConfig struct {
Region string `mapstructure:"region"`
Endpoint string `mapstructure:"endpoint"`
Bucket string `mapstructure:"bucket"`
AccessKeyID string `mapstructure:"access_key_id"`
AccessKeySecret string `mapstructure:"access_key_secret"`
Prefix string `mapstructure:"prefix"`
PublicBaseURL string `mapstructure:"public_base_url"`
MaxFileSizeMB int `mapstructure:"max_file_size_mb"`
MaxFiles int `mapstructure:"max_files"`
}
// AppConfig 应用程序配置
type AppConfig struct {
Server ServerConfig `mapstructure:"server"`
Database DatabaseConfig `mapstructure:"database"`
JWT JWTConfig `mapstructure:"jwt"`
OSS OSSConfig `mapstructure:"oss"`
}
// 全局配置变量
@@ -130,6 +144,15 @@ func setDefaults() {
// JWT 默认值
viper.SetDefault("jwt.secret", "your-secret-key-here-change-in-production")
viper.SetDefault("jwt.expire", 7200)
// OSS 默认值
viper.SetDefault("oss.region", "oss-cn-hangzhou")
viper.SetDefault("oss.endpoint", "oss-cn-hangzhou.aliyuncs.com")
viper.SetDefault("oss.bucket", "trace-system")
viper.SetDefault("oss.prefix", "aftersales-confirmations")
viper.SetDefault("oss.public_base_url", "")
viper.SetDefault("oss.max_file_size_mb", 5)
viper.SetDefault("oss.max_files", 6)
}
// bindEnvVariables 绑定环境变量
@@ -155,6 +178,17 @@ func bindEnvVariables() {
// JWT 配置
viper.BindEnv("jwt.secret")
viper.BindEnv("jwt.expire")
// OSS 配置
viper.BindEnv("oss.region")
viper.BindEnv("oss.endpoint")
viper.BindEnv("oss.bucket")
viper.BindEnv("oss.access_key_id")
viper.BindEnv("oss.access_key_secret")
viper.BindEnv("oss.prefix")
viper.BindEnv("oss.public_base_url")
viper.BindEnv("oss.max_file_size_mb")
viper.BindEnv("oss.max_files")
}
// validateConfig 验证配置