self.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package handler
  2. import (
  3. "fmt"
  4. "codeberg.org/vnpower/pixivfe/models"
  5. "github.com/goccy/go-json"
  6. )
  7. func (p *PixivClient) GetNewestFromFollowing(mode, page, token string) ([]models.IllustShort, error) {
  8. URL := fmt.Sprintf(NewestFromFollowURL, "illust", mode, page)
  9. var body struct {
  10. Thumbnails json.RawMessage `json:"thumbnails"`
  11. }
  12. var artworks struct {
  13. Artworks []models.IllustShort `json:"illust"`
  14. }
  15. response, err := p.PixivRequest(URL, token)
  16. if err != nil {
  17. return nil, err
  18. }
  19. err = json.Unmarshal([]byte(response), &body)
  20. if err != nil {
  21. return nil, err
  22. }
  23. err = json.Unmarshal([]byte(body.Thumbnails), &artworks)
  24. if err != nil {
  25. return nil, err
  26. }
  27. return artworks.Artworks, nil
  28. }
  29. // func (p *PixivClient) FollowUser(id string) error {
  30. // formData := url.Values{}
  31. // formData.Add("mode", "add")
  32. // formData.Add("type", "user")
  33. // formData.Add("user_id", id)
  34. // formData.Add("tag", "")
  35. // formData.Add("restrict", "0")
  36. // formData.Add("format", "json")
  37. // init, err := p.GetCSRF()
  38. // println(init)
  39. // if err != nil {
  40. // return err
  41. // }
  42. // pattern := regexp.MustCompile(`.*pixiv.context.token = "([a-z0-9]{32})"?.*`)
  43. // quotesPattern := regexp.MustCompile(`([a-z0-9]{32})`)
  44. // token := quotesPattern.FindString(pattern.FindString(init))
  45. // println(token)
  46. // _, err = p.RequestWithFormData(FollowUserURL, formData, token)
  47. // if err != nil {
  48. // return err
  49. // }
  50. // return nil
  51. // }