index.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import countries from 'i18n-iso-countries'
  2. import enLocale from 'i18n-iso-countries/langs/en.json'
  3. import i18n from '@/locales'
  4. import { arrayToObj } from '@/utils/utils'
  5. countries.registerLocale(enLocale)
  6. const names = countries.getNames('en')
  7. export const COUNTRYS = Object.entries(names)
  8. .map(([key, label]) => ({ key, label }))
  9. .sort((a, b) => a.label.localeCompare(b.label))
  10. export const AREAS = [
  11. { key: 'mainland', label: i18n.t('network.cdn.area.mainland') },
  12. { key: 'overseas', label: i18n.t('network.cdn.area.overseas') },
  13. { key: 'global', label: i18n.t('network.cdn.area.global') },
  14. ]
  15. export const AREA_MAP = arrayToObj(AREAS, 'key')
  16. export const SERVICE_TYPES = [
  17. { key: 'web', label: i18n.t('network.cdn.service_type_web') }, // CDN网页小文件
  18. { key: 'download', label: i18n.t('network.cdn.service_type_download') }, // CDN下载大文件
  19. { key: 'media', label: i18n.t('network.cdn.service_type_media') }, // CDN音视频点播
  20. { key: 'hybrid', label: i18n.t('network.cdn.service_type_hybrid') }, // ECDN动静加速
  21. { key: 'dynamic', label: i18n.t('network.cdn.service_type_dynamic') }, // ECDN动态加速
  22. ]
  23. export const SERVICE_TYPE_MAP = arrayToObj(SERVICE_TYPES, 'key')
  24. export const ORIGIN_TYPES = [
  25. { key: 'domain', label: i18n.t('network.cdn.origin_type_domain') },
  26. // { key: 'cos', label: i18n.t('network.cdn.origin_type_cos') },
  27. ]
  28. // 回源协议
  29. export const ORIGIN_PROTOCOLS = [
  30. { key: 'http', label: 'HTTP' },
  31. { key: 'https', label: 'HTTPS' },
  32. { key: 'follow', label: i18n.t('network.cdn.origin_protocol_follow') },
  33. ]
  34. // SSL设置
  35. export const SSL_SETTINGS = [
  36. { key: 'off', label: i18n.t('network.cdn.ssl_setting.off') },
  37. { key: 'flexible', label: i18n.t('network.cdn.ssl_setting.flexible') },
  38. { key: 'full', label: i18n.t('network.cdn.ssl_setting.full') },
  39. { key: 'strict', label: i18n.t('network.cdn.ssl_setting.strict') },
  40. { key: 'origin_pull', label: i18n.t('network.cdn.ssl_setting.origin_pull') },
  41. ]
  42. // 缓存级别
  43. export const CACHE_LEVELS = [
  44. { key: 'basic', label: i18n.t('network.cdn.cache_level.basic') },
  45. { key: 'simplified', label: i18n.t('network.cdn.cache_level.simplified') },
  46. { key: 'aggressive', label: i18n.t('network.cdn.cache_level.aggressive') },
  47. ]
  48. // 浏览器缓存TTL
  49. export const BROWSER_CACHE_TTL = [
  50. { key: 0, label: i18n.t('network.cdn.browser_cache_ttl.origin') },
  51. { key: 60 * 2, label: i18n.t('network.cdn.browser_cache_ttl.minute', [2]) },
  52. { key: 60 * 5, label: i18n.t('network.cdn.browser_cache_ttl.minute', [5]) },
  53. { key: 60 * 20, label: i18n.t('network.cdn.browser_cache_ttl.minute', [20]) },
  54. { key: 60 * 30, label: i18n.t('network.cdn.browser_cache_ttl.minute', [30]) },
  55. { key: 60 * 60, label: i18n.t('network.cdn.browser_cache_ttl.hour', [1]) },
  56. { key: 60 * 60 * 2, label: i18n.t('network.cdn.browser_cache_ttl.hour', [2]) },
  57. { key: 60 * 60 * 3, label: i18n.t('network.cdn.browser_cache_ttl.hour', [3]) },
  58. { key: 60 * 60 * 4, label: i18n.t('network.cdn.browser_cache_ttl.hour', [4]) },
  59. { key: 60 * 60 * 5, label: i18n.t('network.cdn.browser_cache_ttl.hour', [5]) },
  60. { key: 60 * 60 * 8, label: i18n.t('network.cdn.browser_cache_ttl.hour', [8]) },
  61. { key: 60 * 60 * 12, label: i18n.t('network.cdn.browser_cache_ttl.hour', [12]) },
  62. { key: 60 * 60 * 16, label: i18n.t('network.cdn.browser_cache_ttl.hour', [16]) },
  63. { key: 60 * 60 * 20, label: i18n.t('network.cdn.browser_cache_ttl.hour', [20]) },
  64. { key: 60 * 60 * 24, label: i18n.t('network.cdn.browser_cache_ttl.day', [1]) },
  65. { key: 60 * 60 * 24 * 2, label: i18n.t('network.cdn.browser_cache_ttl.day', [2]) },
  66. { key: 60 * 60 * 24 * 3, label: i18n.t('network.cdn.browser_cache_ttl.day', [3]) },
  67. { key: 60 * 60 * 24 * 4, label: i18n.t('network.cdn.browser_cache_ttl.day', [4]) },
  68. { key: 60 * 60 * 24 * 5, label: i18n.t('network.cdn.browser_cache_ttl.day', [5]) },
  69. { key: 60 * 60 * 24 * 8, label: i18n.t('network.cdn.browser_cache_ttl.day', [8]) },
  70. { key: 60 * 60 * 24 * 12, label: i18n.t('network.cdn.browser_cache_ttl.day', [12]) },
  71. { key: 60 * 60 * 24 * 16, label: i18n.t('network.cdn.browser_cache_ttl.day', [16]) },
  72. { key: 60 * 60 * 24 * 20, label: i18n.t('network.cdn.browser_cache_ttl.day', [20]) },
  73. { key: 60 * 60 * 24 * 24, label: i18n.t('network.cdn.browser_cache_ttl.day', [24]) },
  74. { key: 60 * 60 * 24 * 31, label: i18n.t('network.cdn.browser_cache_ttl.month', [1]) },
  75. { key: 60 * 60 * 24 * 31 * 2, label: i18n.t('network.cdn.browser_cache_ttl.month', [2]) },
  76. { key: 60 * 60 * 24 * 31 * 6, label: i18n.t('network.cdn.browser_cache_ttl.month', [6]) },
  77. { key: 60 * 60 * 24 * 31 * 12, label: i18n.t('network.cdn.browser_cache_ttl.year', [1]) },
  78. ]