对接阿里云短信OK
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
package router
|
||||
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"hfb_sys/backend/internal/config"
|
||||
"hfb_sys/backend/internal/handler"
|
||||
smsintegration "hfb_sys/backend/internal/integrations/sms"
|
||||
"hfb_sys/backend/internal/middleware"
|
||||
"hfb_sys/backend/internal/modules/adminaudit"
|
||||
"hfb_sys/backend/internal/modules/adminauth"
|
||||
@@ -44,7 +47,8 @@ func New(cfg config.Config, deps Dependencies, logger *zap.Logger) *gin.Engine {
|
||||
if deps.DB != nil {
|
||||
userRepo = auth.NewUserRepository(deps.DB)
|
||||
}
|
||||
authService := auth.NewService(userRepo, deps.Redis, jwtManager, logger)
|
||||
smsProvider := newSMSProvider(cfg, logger)
|
||||
authService := auth.NewService(userRepo, deps.Redis, jwtManager, smsProvider, logger)
|
||||
authHandler := auth.NewHandler(authService)
|
||||
var adminAuthRepo *adminauth.Repository
|
||||
if deps.DB != nil {
|
||||
@@ -336,3 +340,23 @@ func New(cfg config.Config, deps Dependencies, logger *zap.Logger) *gin.Engine {
|
||||
|
||||
return engine
|
||||
}
|
||||
|
||||
func newSMSProvider(cfg config.Config, logger *zap.Logger) smsintegration.Provider {
|
||||
switch strings.ToLower(strings.TrimSpace(cfg.SMS.Provider)) {
|
||||
case "aliyun":
|
||||
provider, err := smsintegration.NewAliyunProvider(smsintegration.AliyunConfig{
|
||||
AccessKeyID: cfg.SMS.AliyunAccessKeyID,
|
||||
AccessKeySecret: cfg.SMS.AliyunAccessKeySecret,
|
||||
Endpoint: cfg.SMS.AliyunEndpoint,
|
||||
SignName: cfg.SMS.AliyunSignName,
|
||||
LoginTemplateCode: cfg.SMS.AliyunLoginTemplateCode,
|
||||
}, logger)
|
||||
if err != nil {
|
||||
logger.Warn("aliyun sms provider unavailable; sms send will fail", zap.Error(err))
|
||||
return smsintegration.NewUnavailableProvider(err)
|
||||
}
|
||||
return provider
|
||||
default:
|
||||
return smsintegration.NewMockProvider(logger)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user