From b7b9d921480191d91524d18982192b17a32587b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Fri, 11 Mar 2022 16:18:11 +0800 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20=E4=BC=98=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- plugin/epidemic/epidemic.go | 59 +++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 29 deletions(-) diff --git a/plugin/epidemic/epidemic.go b/plugin/epidemic/epidemic.go index abb91577..8520cda4 100644 --- a/plugin/epidemic/epidemic.go +++ b/plugin/epidemic/epidemic.go @@ -3,15 +3,15 @@ package epidemic import ( "encoding/json" - "strconv" - control "github.com/FloatTech/zbputils/control" + zero "github.com/wdvxdr1123/ZeroBot" + "github.com/wdvxdr1123/ZeroBot/message" + + "github.com/FloatTech/zbputils/binary" + "github.com/FloatTech/zbputils/control" "github.com/FloatTech/zbputils/control/order" "github.com/FloatTech/zbputils/process" "github.com/FloatTech/zbputils/web" - log "github.com/sirupsen/logrus" - zero "github.com/wdvxdr1123/ZeroBot" - "github.com/wdvxdr1123/ZeroBot/message" ) const ( @@ -21,13 +21,12 @@ const ( // result 疫情查询结果 type result struct { - Ret int `json:"ret"` Data string `json:"data"` } // epidemic 疫情数据 type epidemic struct { - LastUpdateTime string `json:"lastUpdateTime"` + LastUpdateTime string `json:"lastUpdateTime"` AreaTree []*area `json:"areaTree"` } @@ -60,19 +59,24 @@ func init() { ctx.SendChain(message.Text("你还没有输入城市名字呢!")) return } - process.SleepAbout1sTo2s() - data, times := queryEpidemic(text) - if data == nil { - ctx.SendChain(message.Text("没有找到【" + text + "】城市的疫情数据.")) + data, times, err := queryEpidemic(text) + if err != nil { + ctx.SendChain(message.Text("ERROR: ", err)) return } - msgtext := "【" + data.Name + "】疫情数据:\n" + - "新增:" + strconv.Itoa(data.Today.Confirm) + - " ,现有确诊:" + strconv.Itoa(data.Total.NowConfirm) + - " ,治愈:" + strconv.Itoa(data.Total.Heal) + - " ,死亡:" + strconv.Itoa(data.Total.Dead) + " " + data.Total.Grade + if data == nil { + ctx.SendChain(message.Text("没有找到【", text, "】城市的疫情数据.")) + return + } + process.SleepAbout1sTo2s() ctx.SendChain( - message.Text(msgtext), + message.Text( + "【", data.Name, "】疫情数据:\n", + "新增:", data.Today.Confirm, + " ,现有确诊:", data.Total.NowConfirm, + " ,治愈:", data.Total.Heal, + " ,死亡:", data.Total.Dead, " ", data.Total.Grade, + ), message.Text("\n"), message.Text("更新时间:"+times), message.Text("\n"), @@ -102,24 +106,21 @@ func rcity(a *area, cityName string) *area { } // queryEpidemic 查询城市疫情 -func queryEpidemic(findCityName string) (citydata *area, times string) { - response, err := web.GetData(txurl) +func queryEpidemic(findCityName string) (citydata *area, times string, err error) { + data, err := web.GetData(txurl) if err != nil { - log.Errorln("[txurl-err]:", err) - return nil, "" + return } var r result - err = json.Unmarshal(response, &r) + err = json.Unmarshal(data, &r) if err != nil { - log.Errorln("[txjson-Result-err]:", err) - return nil, "" + return } var e epidemic - err = json.Unmarshal([]byte(r.Data), &e) + err = json.Unmarshal(binary.StringToBytes(r.Data), &e) if err != nil { - log.Errorln("[txjson-Epidemic-err]:", err) - return nil, "" + return } - citydata = rcity(&e.AreaTree[0], findCityName) - return citydata, e.LastUpdateTime + citydata = rcity(e.AreaTree[0], findCityName) + return citydata, e.LastUpdateTime, nil }