push plus推送减少推送次数,当数据达到十条后再一起推送

This commit is contained in:
johlanse 2022-05-20 19:55:55 +08:00
parent 08e49b4ad4
commit 2aa0fa80b2
1 changed files with 9 additions and 6 deletions

View File

@ -12,9 +12,9 @@ type PushPlus struct {
Token string
}
func (p *PushPlus) Init() func(kind, message string) {
var datas []string
var datas []string
func (p *PushPlus) Init() func(kind, message string) {
send := func(data string) {
err := gout.POST("http://www.pushplus.plus/send").SetJSON(gout.H{
"token": p.Token,
@ -30,15 +30,18 @@ func (p *PushPlus) Init() func(kind, message string) {
}
return func(kind, message string) {
if kind == "image" {
switch {
case kind == "image":
message = fmt.Sprintf("![](%v)", "data:image/png;base64,"+message)
send(message)
} else if kind == "flush" {
case kind == "flush":
send(strings.Join(datas, "\n"))
} else {
datas = append(datas, message)
default:
if len(datas) > 10 {
send(strings.Join(datas, "\n"))
datas = []string{}
} else {
datas = append(datas, message)
}
}
}