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.
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
}