43 lines
1.1 KiB
Go
43 lines
1.1 KiB
Go
package sms
|
|
|
|
// SMS短信服务
|
|
import (
|
|
"encoding/json"
|
|
"git.echol.cn/loser/lckt/global"
|
|
"go.uber.org/zap"
|
|
|
|
smsApi "github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi"
|
|
)
|
|
|
|
type message struct {
|
|
Code string `json:"code"`
|
|
}
|
|
|
|
func SendSMS(phone string, code string) bool {
|
|
var err error
|
|
smsConfig := global.GVA_CONFIG.SMS
|
|
client, err := smsApi.NewClientWithAccessKey("cn-qingdao", smsConfig.AccessKeyID, smsConfig.AccessKeySecret)
|
|
if err != nil {
|
|
global.GVA_LOG.Error("创建短信服务连接失败", zap.Error(err))
|
|
return false
|
|
}
|
|
|
|
mes := message{Code: code}
|
|
param, err := json.Marshal(mes)
|
|
|
|
request := smsApi.CreateSendSmsRequest()
|
|
request.Scheme = "https"
|
|
request.PhoneNumbers = phone //接收短信的手机号码
|
|
request.SignName = smsConfig.SignName //短信签名名称
|
|
request.TemplateCode = smsConfig.TemplateCode //短信模板ID
|
|
request.TemplateParam = string(param)
|
|
|
|
response, err := client.SendSms(request)
|
|
if err != nil || response.Message != "OK" {
|
|
global.GVA_LOG.Error("发送短信失败", zap.Error(err))
|
|
return false
|
|
}
|
|
|
|
return true
|
|
}
|