package captcha import ( "github.com/caarlos0/env/v11" "github.com/cloudwego/hertz/pkg/common/hlog" "github.com/redis/go-redis/v9" ) type Config struct { Address string `env:"CAPTCHA_REDIS_ADDRESS"` Password string `env:"CAPTCHA_REDIS_PASSWORD"` DB int `env:"CAPTCHA_REDIS_DB"` } func InitDefaultService() Service { var opt Config if err := env.Parse(&opt); err != nil { hlog.Fatalf("parse captcha config failed: %v", err) } rdb := redis.NewClient(&redis.Options{ Addr: opt.Address, Password: opt.Password, DB: opt.DB, }) return NewSMSCaptchaService( NewRedisStore(rdb), // TODO 替换为真实的短信服务 nil, ) }