InstanceAppPushBody.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace App\Libs\Push\HuaWei\Admin\Msg\InstanceApp;
  3. use App\Libs\Push\HuaWei\Admin\Constants;
  4. use App\Libs\Push\HuaWei\Admin\PushLogConfig;
  5. class InstanceAppPushBody
  6. {
  7. // for pass-through
  8. private $messageId;
  9. private $data;
  10. // for notification
  11. private $title;
  12. private $description;
  13. private $page;
  14. private $params;
  15. private $ringtone;
  16. private $fields;
  17. public function __construct()
  18. {
  19. }
  20. public function messageId($value)
  21. {
  22. $this->messageId = $value;
  23. }
  24. public function data($value)
  25. {
  26. $this->data = $value;
  27. }
  28. public function title($value)
  29. {
  30. $this->title = $value;
  31. }
  32. public function description($value)
  33. {
  34. $this->description = $value;
  35. }
  36. public function page($value)
  37. {
  38. $this->page = $value;
  39. }
  40. public function params($value)
  41. {
  42. $this->params = $value;
  43. }
  44. public function ringtone($value)
  45. {
  46. $this->ringtone = $value;
  47. }
  48. public function getFields()
  49. {
  50. $result = "{";
  51. foreach ($this->fields as $key => $value) {
  52. $result = $result . $key . ":" . json_encode($value) . ",";
  53. PushLogConfig::getSingleInstance()->LogMessage('[' . __CLASS__ . '][result:' . $result, Constants::HW_PUSH_LOG_DEBUG_LEVEL);
  54. }
  55. if (strlen($result) > 1) {
  56. $result = rtrim($result, ",");
  57. }
  58. $result = $result . "}";
  59. return $result;
  60. }
  61. public function buildFields()
  62. {
  63. $keys = array(
  64. 'messageId',
  65. 'data',
  66. 'title',
  67. 'description',
  68. 'page',
  69. 'params',
  70. 'ringtone'
  71. );
  72. foreach ($keys as $key) {
  73. PushLogConfig::getSingleInstance()->LogMessage('[' . __CLASS__ . '][key:' . $key . '][value:' . json_encode($this->$key) . ']', Constants::HW_PUSH_LOG_DEBUG_LEVEL);
  74. if (isset($this->$key)) {
  75. $this->fields[$key] = $this->$key;
  76. }
  77. }
  78. PushLogConfig::getSingleInstance()->LogMessage('[' . __CLASS__ . '][buildFields result:' . json_encode($this->fields), Constants::HW_PUSH_LOG_DEBUG_LEVEL);
  79. }
  80. }