Files
quyun/backend_v1/providers/ali/config.go
2025-12-20 22:38:02 +08:00

49 lines
932 B
Go

package ali
import (
"go.ipao.vip/atom/container"
"go.ipao.vip/atom/opt"
)
const DefaultPrefix = "Ali"
func DefaultProvider() container.ProviderContainer {
return container.ProviderContainer{
Provider: Provide,
Options: []opt.Option{
opt.Prefix(DefaultPrefix),
},
}
}
type Config struct {
AccessKeyId string
AccessKeySecret string
Bucket string
Region string
Host *string
CallbackURL string
}
func Provide(opts ...opt.Option) error {
o := opt.New(opts...)
var config Config
if err := o.UnmarshalConfig(&config); err != nil {
return err
}
return container.Container.Provide(func() (*OSSClient, *SMSNotifyClient, error) {
smsClient, err := NewSMSNotifyClient(&config)
if err != nil {
return nil, nil, err
}
ossClient, err := NewOSSClient(&config)
if err != nil {
return nil, nil, err
}
return ossClient, smsClient, nil
}, o.DiOptions()...)
}