| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- package config
- import (
- "github.com/caarlos0/env/v9"
- "github.com/joho/godotenv" // 新增依赖
- )
- type Config struct {
- // 数据库配置
- DBHost string `env:"DB_HOST" envDefault:"localhost"`
- DBPort int `env:"DB_PORT" envDefault:"3306"`
- DBUser string `env:"DB_USER" envDefault:"root"`
- DBPassword string `env:"DB_PASSWORD" envDefault:"password"`
- DBName string `env:"DB_NAME" envDefault:"tasks"`
- //服务器配置
- Concurrency int `env:"CONCURRENCY" envDefault:"20"`
- Interval string `env:"INTERVAL" envDefault:"10m"`
- MaxTaskBatch int `env:"MAX_TASK_BATCH" envDefault:"1000"`
- MaxTaskAge string `env:"MAX_TASK_AGE" envDefault:"24h"` // 支持time.ParseDuration格式
- // Redis配置
- RedisHost string `env:"REDIS_HOST" envDefault:"localhost"`
- RedisPort int `env:"REDIS_PORT" envDefault:"6379"`
- RedisPassword string `env:"REDIS_PASSWORD" envDefault:""`
- RedisDB int `env:"REDIS_DB" envDefault:"0"`
- IsSkipSSLVerify bool `env:"IS_SKIP_SSL_VERIFY" envDefault:"false"`
- //日志配置
- LogLevel string `env:"LOG_LEVEL" envDefault:"info"`
- //业务配置
- HgApiUrl string `env:"HG_API_URL" envDefault:"https://partner.huoli.com"`
- }
- func LoadConfig() (*Config, error) {
- // 加载.env文件
- _ = godotenv.Load() // 自动从项目根目录加载.env
- cfg := &Config{}
- if err := env.Parse(cfg); err != nil {
- return nil, err
- }
- return cfg, nil
- }
|