45 lines
909 B
Go
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
|
|
}
|