12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package utils
- import (
- "encoding/json"
- "github.com/go-resty/resty/v2"
- )
- const (
- SUCCESS = "success"
- )
- type SMS struct {
- Appid string
- Signature string
- }
- func NewSMS(appid, signature string) *SMS {
- return &SMS{
- Appid: appid,
- Signature: signature,
- }
- }
- type SendRes struct {
- Status string `json:"status"`
- Send_id string `json:"send_id"`
- Fee int `json:"fee"`
- Msg string `json:"msg"`
- Code int `json:"code"`
- }
- // Send 短信发送
- func (t *SMS) Send(to, content string) (SendRes, error) {
- client := resty.New()
- resp, err := client.R().
- SetHeader("Content-Type", "application/x-www-form-urlencoded").
- SetFormData(map[string]string{
- "appid": t.Appid,
- "signature": t.Signature,
- "to": to,
- "content": content,
- }).
- SetResult(&SendRes{}).
- Post("https://api-v4.mysubmail.com/sms/send.json")
- if err != nil {
- return SendRes{}, err
- }
- temp := SendRes{}
- if err = json.Unmarshal(resp.Body(), &temp); err != nil {
- return SendRes{}, err
- }
- return temp, nil
- }
|