mirror of
https://github.com/FloatTech/ZeroBot-Plugin.git
synced 2025-12-23 01:36:36 +08:00
✨ 优化代码结构
This commit is contained in:
parent
44575fb19e
commit
b7b9d92148
@ -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
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user