蛋蛋星球-制度模式
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

62 linhas
1.3 KiB

  1. package jpush
  2. import (
  3. "bytes"
  4. "encoding/json"
  5. "strconv"
  6. )
  7. func (c *Client) Push(push *PushRequest) (map[string]interface{}, error) {
  8. link := c.pushUrl + "/v3/push"
  9. buf, err := json.Marshal(push)
  10. if err != nil {
  11. return nil, err
  12. }
  13. resp, err := c.request("POST", link, bytes.NewReader(buf), false)
  14. if err != nil {
  15. return nil, err
  16. }
  17. return resp.Map()
  18. }
  19. func (c *Client) GetCidPool(count int, cidType string) (map[string]interface{}, error) {
  20. link := c.pushUrl + "/v3/push/cid?"
  21. if count > 0 {
  22. link += "count=" + strconv.Itoa(count)
  23. }
  24. if cidType != "" {
  25. link += "type=" + cidType
  26. }
  27. resp, err := c.request("GET", link, nil, false)
  28. if err != nil {
  29. return nil, err
  30. }
  31. return resp.Map()
  32. }
  33. func (c *Client) GroupPush(push *PushRequest) (map[string]interface{}, error) {
  34. link := c.pushUrl + "/v3/grouppush"
  35. buf, err := json.Marshal(push)
  36. if err != nil {
  37. return nil, err
  38. }
  39. resp, err := c.request("POST", link, bytes.NewReader(buf), true)
  40. if err != nil {
  41. return nil, err
  42. }
  43. return resp.Map()
  44. }
  45. func (c *Client) Validate(req *PushRequest) (map[string]interface{}, error) {
  46. link := c.pushUrl + "/v3/push/validate"
  47. buf, err := json.Marshal(req)
  48. if err != nil {
  49. return nil, err
  50. }
  51. resp, err := c.request("POST", link, bytes.NewReader(buf), false)
  52. if err != nil {
  53. return nil, err
  54. }
  55. return resp.Map()
  56. }