调整SetOptions的方式

This commit is contained in:
Yun
2025-11-21 15:54:49 +08:00
parent 04bdd98d6f
commit eeaa518fc3
17 changed files with 90 additions and 86 deletions
+8 -6
View File
@@ -34,18 +34,18 @@ func NewAliyun() *Aliyun {
return aliyun
}
func (l *Aliyun) SetOption(ctx context.Context, opt ...interfaces.Option) (interfaces.EmailInterface, error) {
func (l *Aliyun) SetOption(ctx context.Context, opt ...interfaces.Option) error {
for _, o := range opt {
o(&l.Options)
}
if l.Options.Aliyun == nil {
return nil, fmt.Errorf("Aliyun configuration is required")
return fmt.Errorf("Aliyun configuration is required")
}
// 验证配置
if err := l.validateConfig(); err != nil {
return nil, fmt.Errorf("invalid Aliyun config: %w", err)
return fmt.Errorf("invalid Aliyun config: %w", err)
}
// 安全日志输出
@@ -64,15 +64,17 @@ func (l *Aliyun) SetOption(ctx context.Context, opt ...interfaces.Option) (inter
client, err := dm20151123.NewClient(config)
if err != nil {
return nil, fmt.Errorf("failed to create Aliyun client: %w", err)
return fmt.Errorf("failed to create Aliyun client: %w", err)
}
l.IsSet = true
l.client = client
return l, nil
return nil
}
func (l *Aliyun) Send(ctx context.Context, params interfaces.Message) error {
if l.client == nil {
if !l.IsSet {
return fmt.Errorf("Aliyun client not initialized")
}
+2 -2
View File
@@ -10,10 +10,10 @@ import (
)
func TestSend(t *testing.T) {
aliyun := aliyun.NewAliyun()
ali := aliyun.NewAliyun()
ctx := context.Background()
ali, err := aliyun.SetOption(ctx, interfaces.SetAliyun(&interfaces.EmialConfigDataAliyun{
err := ali.SetOption(ctx, interfaces.SetAliyun(&interfaces.EmialConfigDataAliyun{
AccessId: "LTAI5tEQ8L8fmDir8udD3CFr",
AccessKey: "llg9M1U56s2SW5PuerlKPvTB1xYhn0",
Endpoint: "dm.aliyuncs.com",