Constants.php 3.8 KB

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