wireguard-dashboard/utils/daily_poetry.go
2024-08-09 10:06:34 +08:00

45 lines
909 B
Go

package utils
import (
jsoniter "github.com/json-iterator/go"
"wireguard-ui/global/client"
"wireguard-ui/http/vo"
)
type dailyPoetry struct{}
func DailyPoetry() dailyPoetry {
return dailyPoetry{}
}
// HitokotoPoetry
// @description: 获取每日一句【一言】
// @receiver dailyPoetry
// @return data
// @return err
func (dailyPoetry) HitokotoPoetry() (data *vo.Poetry, err error) {
req := client.HttpClient.R()
req.SetQueryParam("c", "h")
req.SetQueryParam("c", "i")
req.SetQueryParam("c", "k")
req.SetQueryParam("encode", "json")
req.SetQueryParam("charset", "utf-8")
response, err := req.Get("https://hitokoto.mrxqq.top")
if err != nil {
return nil, err
}
author := jsoniter.Get(response.Body(), "from_who").ToString()
if author == "" {
author = "佚名"
}
data = &vo.Poetry{
Content: jsoniter.Get(response.Body(), "hitokoto").ToString(),
Author: author,
}
return
}