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.
32 rivejä
1.0 KiB
32 rivejä
1.0 KiB
package service
|
|
|
|
import (
|
|
"errors"
|
|
"fmt"
|
|
"github.com/Albert-Zhan/httpc"
|
|
"github.com/tidwall/gjson"
|
|
"github.com/unknwon/goconfig"
|
|
"github.com/ztino/jd_seckill/log"
|
|
)
|
|
|
|
type Wechat struct {
|
|
conf *goconfig.ConfigFile
|
|
}
|
|
|
|
func NewWechat(conf *goconfig.ConfigFile) *Wechat {
|
|
return &Wechat{conf: conf}
|
|
}
|
|
|
|
func (this *Wechat) Send(title,msg string) error {
|
|
client:=httpc.NewHttpClient()
|
|
req:=httpc.NewRequest(client)
|
|
url:=fmt.Sprintf("http://sc.ftqq.com/%s.send",this.conf.MustValue("messenger","server_chan_sckey",""))
|
|
req.SetHeader("User-Agent","Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36")
|
|
_,body,_:=req.SetUrl(url+"?text="+title+"&desp="+msg).SetMethod("get").Send().End()
|
|
if gjson.Get(body,"errno").Int()!=0 {
|
|
log.Println("微信推送失败,返回错误:"+gjson.Get(body,"errmsg").String())
|
|
return errors.New("微信推送失败,返回错误:"+gjson.Get(body,"errmsg").String())
|
|
}
|
|
log.Println("微信推送成功")
|
|
return nil
|
|
}
|