This commit is contained in:
Yun
2023-12-27 19:02:23 +08:00
commit 447f61023d
2 changed files with 115 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
package smsx
import (
"errors"
"fmt"
"github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi"
)
type sms struct {
endPoint string
accessKeyId string
accessKeySecret string
}
func NewSms(endPoint string, accessKeyId string, accessKeySecret string) *sms {
return &sms{
endPoint: endPoint,
accessKeyId: accessKeyId,
accessKeySecret: accessKeySecret,
}
}
func (s *sms) Send(phone, code, signName, templateCode string) error {
client, err := dysmsapi.NewClientWithAccessKey(s.endPoint, s.accessKeyId, s.accessKeySecret)
if err != nil {
return err
}
req := dysmsapi.CreateSendSmsRequest()
req.Scheme = "https"
req.PhoneNumbers = phone
req.SignName = signName
req.TemplateCode = templateCode
req.TemplateParam = fmt.Sprintf(`{"code":"%s"}`, code)
resp, err := client.SendSms(req)
// fmt.Printf("sms send: resp:%+v err:%+v", resp, err)
if err != nil {
return err
}
if resp == nil {
return errors.New("没有获取到发送结果")
}
if resp.Code != "OK" {
return errors.New(resp.Message)
}
return nil
}