Constants.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?php
  2. /**
  3. * 常量定义.
  4. * @author wangkuiwei
  5. * @name Constants
  6. * @desc 常量定义
  7. *
  8. */
  9. namespace App\Libs\Push\XMPush;
  10. class Constants
  11. {
  12. public static $comma = ',';
  13. public static $multi_topic_split = ';$;';
  14. public static $packageName = '';
  15. public static $bundle_id = '';
  16. public static $secret = '';
  17. /**
  18. * 是否在网络访问问题时,自动切换访问的域名
  19. */
  20. public static $autoSwitchHost = true;
  21. /**
  22. * 网络访问的超时时间,当超过该时间时,则认为可用性较低,会优先选择其他域名
  23. */
  24. public static $accessTimeOut = 5000;
  25. public static $HTTP_PROTOCOL = "https";
  26. public static $USE_HTTPS = true;
  27. /**
  28. * 是否测试环境
  29. */
  30. public static $sandbox = false;
  31. /**
  32. * 如果设置了IP、域名,则使用手动设置的值,只用于内部测试,不对外开放
  33. */
  34. /**
  35. * @return string
  36. */
  37. public static $host = null;
  38. const reg_url = '/v3/message/regid';
  39. const alias_url = '/v3/message/alias';
  40. const user_account_url = '/v2/message/user_account';
  41. const topic_url = '/v3/message/topic';
  42. const multi_topic_url = '/v3/message/multi_topic';
  43. const all_url = '/v3/message/all';
  44. const multi_messages_regids_url = '/v2/multi_messages/regids';
  45. const multi_messages_aliases_url = '/v2/multi_messages/aliases';
  46. const multi_messages_user_accounts_url = '/v2/multi_messages/user_accounts';
  47. const stats_url = '/v1/stats/message/counters';
  48. const message_trace_url = '/v1/trace/message/status';
  49. const messages_trace_url = '/v1/trace/messages/status';
  50. const validation_regids_url = '/v1/validation/regids';
  51. const subscribe_url = '/v2/topic/subscribe';
  52. const unsubscribe_url = '/v2/topic/unsubscribe';
  53. const subscribe_alias_url = '/v2/topic/subscribe/alias';
  54. const unsubscribe_alias_url = '/v2/topic/unsubscribe/alias';
  55. const fetch_invalid_regids_url = 'https://feedback.xmpush.xiaomi.com/v1/feedback/fetch_invalid_regids';
  56. const delete_schedule_job = '/v2/schedule_job/delete';
  57. const check_schedule_job_exist = '/v2/schedule_job/exist';
  58. const get_all_aliases = '/v1/alias/all';
  59. const get_all_topics = '/v1/topic/all';
  60. const UNION = 'UNION';
  61. const INTERSECTION = 'INTERSECTION';
  62. const EXCEPT = 'EXCEPT';
  63. /**
  64. * 相关域名定义
  65. */
  66. const HOST_EMQ = "emq.xmpush.xiaomi.com";
  67. const HOST_SANDBOX = "sandbox.xmpush.xiaomi.com";
  68. /**
  69. * 国内机房相关域名
  70. */
  71. const HOST_PRODUCTION = "api.xmpush.xiaomi.com";
  72. const HOST_PRODUCTION_FEEDBACK = "feedback.xmpush.xiaomi.com";
  73. /**
  74. * 海外机房相关域名
  75. */
  76. const HOST_GLOBAL_PRODUCTION = "api.xmpush.global.xiaomi.com";
  77. const HOST_GLOBAL_PRODUCTION_FEEDBACK = "feedback.xmpush.global.xiaomi.com";
  78. /**
  79. * VIP域名
  80. */
  81. const HOST_VIP = "vip.api.xmpush.xiaomi.com";
  82. const X_PUSH_HOST_LIST = "X-PUSH-HOST-LIST";
  83. const HOST_RESPONSE_EXPECT_TIME = 5; // 响应时间低于这个值,host降权
  84. const X_PUSH_SDK_VERSION = "X-PUSH-SDK-VERSION";
  85. const SDK_VERSION = "PHP_SDK_V2.2.21";
  86. const EXTRA_PARAM_NOTIFY_EFFECT = "notify_effect";
  87. const NOTIFY_LAUNCHER_ACTIVITY = "1";
  88. const NOTIFY_ACTIVITY = "2";
  89. const NOTIFY_WEB = "3";
  90. const EXTRA_PARAM_INTENT_URI = "intent_uri";
  91. const EXTRA_PARAM_WEB_URI = "web_uri";
  92. public static function setPackage($package)
  93. {
  94. self::$packageName = $package;
  95. }
  96. public static function setSecret($secret)
  97. {
  98. self::$secret = $secret;
  99. }
  100. public static function setBundleId($bundleId)
  101. {
  102. self::$bundle_id = $bundleId;
  103. }
  104. public static function useOfficial()
  105. {
  106. self::$sandbox = false;
  107. self::$host = null;
  108. }
  109. public static function useSandbox()
  110. {
  111. self::$sandbox = true;
  112. self::$host = null;
  113. }
  114. /**
  115. * 仅限内部使用,用户测试专门的IP
  116. */
  117. public static function useInternalHost($hostOrIP)
  118. {
  119. self::$host = $hostOrIP;
  120. }
  121. public static function useHttp()
  122. {
  123. self::$HTTP_PROTOCOL = "http";
  124. }
  125. }
  126. ?>