70 lines
1.5 KiB
Go
70 lines
1.5 KiB
Go
package Utils
|
||
|
||
import (
|
||
"bytes"
|
||
"encoding/json"
|
||
"io/ioutil"
|
||
"log"
|
||
"net/http"
|
||
"regexp"
|
||
)
|
||
|
||
func MobileFormat(str string) string {
|
||
re, _ := regexp.Compile("(\\d{3})(\\d{6})(\\d{2})")
|
||
return re.ReplaceAllString(str, "$1******$3")
|
||
}
|
||
|
||
func SendMessage(form string, phone string, info string) bool {
|
||
status := true
|
||
if form == "" || phone == "" || info == "" {
|
||
status = false
|
||
return status
|
||
}
|
||
desc := ""
|
||
if form == "express" {
|
||
desc = "【GEEKROS】Hi," + info + " ,你在GEEKROS的订单已经发货,请留意快递信息,及时查收。"
|
||
}
|
||
if form == "account" {
|
||
desc = "【GEEKROS】你的验证码为:" + info + " ,有效期10分钟,工作人员绝不会索取此验证码,切勿告知他人。"
|
||
}
|
||
|
||
apiUrl := "https://smssh1.253.com/msg/v1/send/json"
|
||
params := make(map[string]interface{})
|
||
params["account"] = ""
|
||
params["password"] = ""
|
||
params["phone"] = phone
|
||
params["msg"] = desc
|
||
params["report"] = "false"
|
||
|
||
bytesData, err := json.Marshal(params)
|
||
if err != nil {
|
||
status = false
|
||
return status
|
||
}
|
||
|
||
reader := bytes.NewReader(bytesData)
|
||
request, err := http.NewRequest("POST", apiUrl, reader)
|
||
if err != nil {
|
||
status = false
|
||
return status
|
||
}
|
||
|
||
request.Header.Set("Content-Type", "application/json;charset=UTF-8")
|
||
client := http.Client{}
|
||
resp, err := client.Do(request)
|
||
if err != nil {
|
||
status = false
|
||
return status
|
||
}
|
||
|
||
respBytes, err := ioutil.ReadAll(resp.Body)
|
||
if err != nil {
|
||
status = false
|
||
return status
|
||
}
|
||
|
||
log.Println("[PhoneMessage]", string(respBytes))
|
||
|
||
return true
|
||
}
|