erp_server/app/admin/models/greentown_sms.go
2023-09-16 11:11:36 +08:00

126 lines
2.7 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package models
import (
"bytes"
"encoding/json"
"fmt"
"go-admin/logger"
"io/ioutil"
"net/http"
"net/url"
)
var exchangeClient = ExchangeClient{
Name: "diwei",
Password: "deovo123",
BaseURL: "http://api.china95059.net:8080",
}
type ExchangeClient struct {
Name string
Password string
BaseURL string
}
//账号diwei
//密码deovo123
//func ExchangeLatestUSD() (float64, error) {
// //params := &url.Values{}
// //latestUSDResp := &LatestUSDResp{}
// //err := exchangeClient.get("/latest/USD", params, latestUSDResp)
// //if err != nil {
// // log.Error().Msgf("err:%#v", err)
// // return 0, err
// //}
// //return latestUSDResp.ConversionRates.CNY, nil
//}
//&mobile=15015001500 &msg=【绿城信息】您
func SmsSend(tel, content string) error {
params := &url.Values{}
params.Set("mobile", tel)
params.Set("msg", content)
//latestUSDResp := &LatestUSDResp{}
err := exchangeClient.get("/sms/send?", params, nil)
if err != nil {
logger.Error("err:", err)
return err
}
return nil
}
////https://v6.exchangerate-api.com/v6/a9208b64e4f178642020790f/latest/USD
func (m *ExchangeClient) get(amApi string, params *url.Values, resp interface{}) error {
params.Set("name", m.Name)
params.Set("pswd", m.Password)
uri := m.BaseURL + amApi
fmt.Println("uri:", uri)
fmt.Println("uri:", uri+params.Encode())
req, err := http.NewRequest("GET", uri+params.Encode(), nil)
if err != nil {
logger.Error("err:", err)
return err
}
req.Header.Set("Content-Type", "application/json")
res, err := (&http.Client{}).Do(req)
if err != nil {
logger.Error("err:", err)
return err
}
defer res.Body.Close()
data, err := ioutil.ReadAll(res.Body)
if err != nil {
logger.Error("err:", err)
return err
}
//fmt.Println("返回数据data:")
fmt.Println("Body:", string(data))
//if err = json.Unmarshal(data, &resp); err != nil {
// logger.Error("err:", err)
// return err
//}
return nil
}
func (m *ExchangeClient) post(amApi string, params, resp interface{}) error {
uri := m.BaseURL + amApi
data, err := json.Marshal(params)
if err != nil {
logger.Error("err:", err)
return err
}
req, err := http.NewRequest("POST", uri, bytes.NewReader(data))
if err != nil {
logger.Error("err:", err)
return err
}
req.Header.Set("Content-Type", "application/json")
res, err := (&http.Client{}).Do(req)
if err != nil {
logger.Error("err:", err)
return err
}
defer res.Body.Close()
//fmt.Println("返回数据data:")
//fmt.Println("Body:", string(data))
data, err = ioutil.ReadAll(res.Body)
if err != nil {
logger.Error("err:", err)
return err
}
if err = json.Unmarshal(data, resp); err != nil {
logger.Error("err:", err)
return err
}
return nil
}