pixivfe/handler/self.go

64 lines
1.4 KiB
Go

package handler
import (
"fmt"
"pixivfe/models"
"github.com/goccy/go-json"
)
func (p *PixivClient) GetNewestFromFollowing(mode, page, token string) ([]models.IllustShort, error) {
URL := fmt.Sprintf(NewestFromFollowURL, "illust", mode, page)
var body struct {
Thumbnails json.RawMessage `json:"thumbnails"`
}
var artworks struct {
Artworks []models.IllustShort `json:"illust"`
}
response, err := p.PixivRequest(URL, token)
if err != nil {
return nil, err
}
err = json.Unmarshal([]byte(response), &body)
if err != nil {
return nil, err
}
err = json.Unmarshal([]byte(body.Thumbnails), &artworks)
if err != nil {
return nil, err
}
return artworks.Artworks, nil
}
// func (p *PixivClient) FollowUser(id string) error {
// formData := url.Values{}
// formData.Add("mode", "add")
// formData.Add("type", "user")
// formData.Add("user_id", id)
// formData.Add("tag", "")
// formData.Add("restrict", "0")
// formData.Add("format", "json")
// init, err := p.GetCSRF()
// println(init)
// if err != nil {
// return err
// }
// pattern := regexp.MustCompile(`.*pixiv.context.token = "([a-z0-9]{32})"?.*`)
// quotesPattern := regexp.MustCompile(`([a-z0-9]{32})`)
// token := quotesPattern.FindString(pattern.FindString(init))
// println(token)
// _, err = p.RequestWithFormData(FollowUserURL, formData, token)
// if err != nil {
// return err
// }
// return nil
// }