75 lines
1.5 KiB
Go
75 lines
1.5 KiB
Go
package verifica
|
||
|
||
import (
|
||
"encoding/json"
|
||
"fmt"
|
||
"io/ioutil"
|
||
"net/http"
|
||
"strings"
|
||
"time"
|
||
)
|
||
|
||
type nationAccount struct {
|
||
ak string
|
||
sk string
|
||
}
|
||
|
||
type NationMsg struct {
|
||
Apikey string `json:"apikey"`
|
||
Secret string `json:"secret"`
|
||
Content string `json:"content"`
|
||
Mobile string `json:"mobile"`
|
||
TemplateId int `json:"template_id"`
|
||
SendTime int64 `json:"send_time"`
|
||
}
|
||
|
||
const (
|
||
sendNationMsgUrl = "https://api.4321.sh/inter/send"
|
||
nationMsgTemplateId = 107570 //[$$]您此次验证码为$$,60秒内有效,请您尽快验证!
|
||
accessKey = "I1185562576"
|
||
secretKey = "1185566b86c739e71"
|
||
)
|
||
|
||
var nationAccountObj *nationAccount
|
||
|
||
func loadEnv(ak, sk string) {
|
||
nationAccountObj = &nationAccount{
|
||
ak: ak,
|
||
sk: sk,
|
||
}
|
||
}
|
||
|
||
func SendNationMsg(telNum, content string, templateId int) error {
|
||
if templateId == 0 {
|
||
templateId = nationMsgTemplateId
|
||
}
|
||
fmt.Print("content:", content)
|
||
loadEnv(accessKey, secretKey)
|
||
//设置飞鸽发送短信需要的参数
|
||
msg := NationMsg{
|
||
Apikey: nationAccountObj.ak,
|
||
Secret: nationAccountObj.sk,
|
||
Content: content,
|
||
Mobile: telNum,
|
||
TemplateId: templateId,
|
||
SendTime: time.Now().Unix(),
|
||
}
|
||
|
||
//转json
|
||
dataJsonBytes, _ := json.Marshal(msg)
|
||
data := strings.NewReader(string(dataJsonBytes))
|
||
fmt.Println(string(dataJsonBytes))
|
||
|
||
resp, err := http.Post(sendNationMsgUrl, "application/json", data)
|
||
if err != nil {
|
||
return err
|
||
}
|
||
bodyText, err := ioutil.ReadAll(resp.Body)
|
||
if err != nil {
|
||
return err
|
||
}
|
||
fmt.Printf("%s\n", bodyText)
|
||
|
||
return nil
|
||
}
|