GTUps.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. require_once(dirname(__FILE__) . '/' . 'GTThirdNotification.php');
  3. class GTUps extends GTApiRequest
  4. {
  5. /**
  6. * 通知消息内容,与transmission 二选一,两个都填写时报错
  7. */
  8. private $notification;
  9. /**
  10. * 透传消息内容,与notification 二选一,两个都填写时报错,长度 ≤ 3072
  11. */
  12. private $transmission;
  13. /**
  14. * 第三方厂商通知扩展内容
  15. *
  16. * $constraint,扩展内容对应厂商通道设置如:HW,MZ,...,不填默认ALL
  17. *
  18. * 厂商内容扩展字段,单个厂商特有字段,
  19. * key目前支持的所有字段:
  20. * hw角标设置:badgeAddNum,
  21. * badgeClass要设置hw角标,这两个字段需要配合使用 ,hw的icon
  22. * op私信 channel,op的消息去重 app_meaasge_id,
  23. * vv的消息分类classification, 0 代表运营消息,1代表系统消息,不填默认为0。
  24. * xm的channel:目前只有op和xm支持
  25. *
  26. * value的设置根据key值决定。例如,
  27. * hw角标设置:key设为badgeAddNum,value:1(原来的角标值+1)key设为badgeClass,value:请写入角标设置的应用类名)
  28. * key设为icon,value:请写⼊对应图标地址
  29. */
  30. private $options;
  31. public function getNotification()
  32. {
  33. return $this->notification;
  34. }
  35. public function setNotification($notification)
  36. {
  37. $this->notification = $notification;
  38. }
  39. public function getTransmission()
  40. {
  41. return $this->transmission;
  42. }
  43. public function setTransmission($transmission)
  44. {
  45. $this->transmission = $transmission;
  46. $this->apiParam["transmission"] = $transmission;
  47. }
  48. public function getOptions()
  49. {
  50. return $this->options;
  51. }
  52. public function setOptions($options)
  53. {
  54. $this->options = $options;
  55. }
  56. public function addOption($constraint, $key, $value){
  57. if ($constraint == null){
  58. $constraint = "ALL";
  59. }
  60. $this->options[$constraint][$key] = $value;
  61. }
  62. //
  63. // public function addOptions($option)
  64. // {
  65. // if ($this->options == null) {
  66. // $this->options = array($option);
  67. // } else {
  68. // array_push($this->options, $option);
  69. // }
  70. // }
  71. public function getApiParam()
  72. {
  73. if ($this->notification != null) {
  74. $this->apiParam["notification"] = $this->notification->getApiParam();
  75. }
  76. if ($this->options != null) {
  77. $this->apiParam["options"] = $this->options;
  78. }
  79. return $this->apiParam;
  80. }
  81. }