/
weixin.go
49 lines (47 loc) · 1.21 KB
/
weixin.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package controllers
import (
"bytes"
"crypto/tls"
"encoding/json"
"github.com/astaxie/beego"
"github.com/astaxie/beego/logs"
"io/ioutil"
"net/http"
)
type Mark struct {
Content string `json:"content"`
}
type WXMessage struct {
Msgtype string `json:"msgtype"`
Markdown Mark `json:"markdown"`
}
func PostToWeiXin(text,WXurl,logsign string)(string) {
open:=beego.AppConfig.String("open-weixin")
if open=="0" {
logs.Info(logsign,"[weixin]","企业微信接口未配置未开启状态,请先配置open-weixin为1")
return "企业微信接口未配置未开启状态,请先配置open-weixin为1"
}
u := WXMessage{
Msgtype:"markdown",
Markdown:Mark{Content:text},
}
b := new(bytes.Buffer)
json.NewEncoder(b).Encode(u)
logs.Info(logsign,"[weixin]",b)
//url="http://127.0.0.1:8081"
tr :=&http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
}
client := &http.Client{Transport: tr}
res,err := client.Post(WXurl, "application/json", b)
if err != nil {
logs.Error(logsign,"[weixin]",err.Error())
}
defer res.Body.Close()
result,err:=ioutil.ReadAll(res.Body)
if err != nil {
logs.Error(logsign,"[weixin]",err.Error())
}
logs.Info(logsign,"[weixin]",string(result))
return string(result)
}