2025-04-30 16:35:25 +08:00

50 lines
1.4 KiB
Go

package api
import (
"fmt"
"gitea.party/public-messag-service/common/params"
"gitea.party/public-messag-service/common/public"
"gitea.party/public-messag-service/router/web"
"github.com/aliyun/alibaba-cloud-sdk-go/services/dysmsapi"
"github.com/gin-gonic/gin"
)
func SmsXSend(c *gin.Context) {
result := web.NewResponse()
defer web.SendResponse(c, result)()
pm := params.SmsSend{}
err := c.ShouldBindJSON(&pm)
if err != nil {
result.SetErrCode(public.RespCodeErrorParam).AddError(err)
return
}
client, err := dysmsapi.NewClientWithAccessKey(pm.RegionId, pm.AccessKeyId, pm.AccessKeySecret)
if err != nil {
fmt.Printf("初始化客户端失败: %v\n", err)
return
}
// 2. 设置请求参数
request := dysmsapi.CreateSendMessageToGlobeRequest()
request.To = "目标手机号码" // 国际号码格式,例如:+85212345678
request.Message = "1234" // 短信内容
//request.From = "你的短信签名" // 短信签名
// 3. 发送短信
res, err := client.SendMessageToGlobe(request)
if err != nil {
fmt.Printf("发送短信失败: %v\n", err)
return
}
// 4. 处理响应
if res.IsSuccess() {
fmt.Println("短信发送成功:", res.MessageId)
} else {
result.SetErrMsg(public.RespCodeErrorUnknown, fmt.Sprintf("短信发送失败: %s", res.ResponseDescription)).AddError(err)
return
}
result.SetData(nil)
}