lckt-server/utils/sms/sms.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
}