mirror of
https://github.com/yangjian102621/geekai.git
synced 2025-09-18 09:16:39 +08:00
40 lines
700 B
Go
40 lines
700 B
Go
package sms
|
|
|
|
import (
|
|
"chatplus/core/types"
|
|
"strings"
|
|
)
|
|
|
|
type SmsServiceManager struct {
|
|
handler SmsService
|
|
}
|
|
|
|
const Ali = "Ali"
|
|
const SmsBao = "SmsBao"
|
|
|
|
func NewSendServiceManager(config *types.AppConfig) (*SmsServiceManager, error) {
|
|
active := SmsBao
|
|
if config.OSS.Active != "" {
|
|
active = strings.ToUpper(config.SMS.Active)
|
|
}
|
|
var handler SmsService
|
|
switch active {
|
|
case Ali:
|
|
client, err := NewAliYunSmsService(config)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
handler = client
|
|
break
|
|
case SmsBao:
|
|
handler = NewSmsBaoSmsService(config)
|
|
break
|
|
}
|
|
|
|
return &SmsServiceManager{handler: handler}, nil
|
|
}
|
|
|
|
func (m *SmsServiceManager) GetUploadHandler() SmsService {
|
|
return m.handler
|
|
}
|