31 lines
669 B
Go
31 lines
669 B
Go
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,
|
|
)
|
|
}
|