You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
go-library/service/qywechat/qywechat.go

46 lines
1005 B

3 years ago
package qywechat
3 years ago
import (
"encoding/json"
"fmt"
3 years ago
"gitee.com/dtapps/go-library/service/qywechat/config"
"gitee.com/dtapps/go-library/service/qywechat/message"
3 years ago
utilsJson "gitee.com/dtapps/go-library/utils/json"
3 years ago
"io/ioutil"
"net/http"
"strings"
)
type QyBot struct {
Key string
}
type response struct {
Errcode int64 `json:"errcode"`
Errmsg string `json:"errmsg"`
Type string `json:"type"`
MediaId string `json:"media_id"`
CreatedAt string `json:"created_at"`
}
3 years ago
func (bot *QyBot) Send(msg message.Message) (response, error) {
3 years ago
var response response
3 years ago
qyUrl := fmt.Sprintf("%s?key=%s", config.Api, bot.Key)
3 years ago
toString, err := utilsJson.MarshalToString(msg)
3 years ago
if err != nil {
return response, err
}
resp, e := http.Post(qyUrl, "application/json", strings.NewReader(toString))
3 years ago
if e != nil {
return response, e
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
e = json.Unmarshal(body, &response)
if e != nil {
return response, e
}
return response, nil
}