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) }