constant.js 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410
  1. const protocol = location.protocol
  2. const host = process.env.VUE_APP_GATEWAY || location.host
  3. export const GATEWAY = `${protocol}//${host}`
  4. export const GATEWAY_WS = `${protocol === 'https:' ? 'wss:' : 'ws:'}//${host}`
  5. export const GATEWAY_CAMERA = `${GATEWAY_WS}${process.env.VUE_APP_CAMERA_PROXY}`
  6. export const GATEWAY_CAMERA_RECORD = `${GATEWAY_WS}${process.env.VUE_APP_CAMERA_RECORD_PROXY}`
  7. export const ONE_DAY = 3600 * 24 * 1000
  8. export const AssetType = {
  9. IMAGE: 1,
  10. VIDEO: 2,
  11. AUDIO: 3,
  12. PPT: 4,
  13. PDF: 5,
  14. DOC: 6,
  15. STREAMING_MEDIA: 100
  16. }
  17. export const AssetTypeInfo = {
  18. [AssetType.IMAGE]: '图片',
  19. [AssetType.VIDEO]: '视频',
  20. [AssetType.AUDIO]: '音频',
  21. [AssetType.PPT]: 'PPT',
  22. [AssetType.PDF]: 'PDF',
  23. [AssetType.DOC]: 'WORD',
  24. [AssetType.STREAMING_MEDIA]: '流媒体'
  25. }
  26. export const AssetTag = {
  27. AD: 1,
  28. PUBLICITY: 2,
  29. LOCAL_PUBLICITY: 3,
  30. SHIM: 4
  31. }
  32. export const AssetTagInfo = {
  33. [AssetTag.AD]: '广告',
  34. [AssetTag.PUBLICITY]: '公益',
  35. [AssetTag.LOCAL_PUBLICITY]: '地方宣传',
  36. [AssetTag.SHIM]: '垫片'
  37. }
  38. export const State = {
  39. DRAFT: -1,
  40. READY: 0,
  41. SUBMITTED: 1,
  42. RESOLVED: 2,
  43. REJECTED: 3,
  44. CANCEL: 7,
  45. // 占位值
  46. REVIEW_ASSET: 1000,
  47. DRAFT_CONTENT: 1001,
  48. AVAILABLE: 1002
  49. }
  50. export const WorkflowState = {
  51. DRAFT: 0,
  52. FIRST_LEVEL: 1,
  53. SECOND_LEVEL: 2,
  54. FINAL_LEVEL: 3,
  55. DONE: 4
  56. }
  57. export const WorkflowStateInfo = {
  58. [WorkflowState.DRAFT]: '初始',
  59. [WorkflowState.FIRST_LEVEL]: '一审',
  60. [WorkflowState.SECOND_LEVEL]: '二审',
  61. [WorkflowState.FINAL_LEVEL]: '三审',
  62. [WorkflowState.DONE]: '结束'
  63. }
  64. export const ScheduleType = {
  65. RECUR: 2,
  66. COMPLEX: 3
  67. }
  68. export const PublishType = {
  69. PROGRAM_TO_DEVICE: 1,
  70. ASSET_TO_DEVICE: 2,
  71. ASSET_TO_PRODUCT_TYPE: 3,
  72. PROGRAM_TO_PRODUCT_TYPE: 4
  73. }
  74. export const PublishTargetType = {
  75. CALENDAR: 1,
  76. EVENT: 2
  77. }
  78. export const EventPriority = {
  79. SHIM: 1,
  80. SCHEDULING: 2,
  81. INSERTED: 3,
  82. AUTO_PROGRAMME: 4,
  83. EMBEDDED: 5,
  84. EMERGENT: 99
  85. }
  86. export const EventPriorityDescription = {
  87. [EventPriority.SHIM]: '默认',
  88. [EventPriority.SCHEDULING]: '常规',
  89. [EventPriority.INSERTED]: '临时',
  90. [EventPriority.AUTO_PROGRAMME]: '节目单',
  91. [EventPriority.EMBEDDED]: '预埋',
  92. [EventPriority.EMERGENT]: '紧急'
  93. }
  94. export const EventPriorityInfo = {
  95. [EventPriority.SHIM]: `${EventPriority.SHIM} ${EventPriorityDescription[EventPriority.SHIM]}`,
  96. [EventPriority.SCHEDULING]: `${EventPriority.SCHEDULING} ${EventPriorityDescription[EventPriority.SCHEDULING]}`,
  97. [EventPriority.INSERTED]: `${EventPriority.INSERTED} ${EventPriorityDescription[EventPriority.INSERTED]}`,
  98. [EventPriority.AUTO_PROGRAMME]: `${EventPriority.AUTO_PROGRAMME} ${EventPriorityDescription[EventPriority.AUTO_PROGRAMME]}`,
  99. [EventPriority.EMBEDDED]: `${EventPriority.EMBEDDED} ${EventPriorityDescription[EventPriority.EMBEDDED]}`,
  100. [EventPriority.EMERGENT]: `${EventPriority.EMERGENT} ${EventPriorityDescription[EventPriority.EMERGENT]}`
  101. }
  102. export const EventFrequency = {
  103. ONCE: 'ONCE',
  104. WEEKLY: 'WEEKLY',
  105. MULTI: 'MULTI'
  106. }
  107. export const EventTarget = {
  108. PROGRAM: 1,
  109. RECUR: 2,
  110. ASSETS: 3
  111. }
  112. export const EventTargetInfo = {
  113. [EventTarget.PROGRAM]: '节目',
  114. [EventTarget.RECUR]: '轮播',
  115. [EventTarget.ASSETS]: '素材包'
  116. }
  117. export const ThirdPartyDevice = {
  118. GATEWAY: 0,
  119. RECEIVING_CARD: 1,
  120. SENDING_CARD: 2,
  121. SCREEN: 3,
  122. LED_CAMERA: 4,
  123. TRAFFIC_CAMERA: 5,
  124. PLC: 6,
  125. BOX: 7,
  126. MULTI_FUNCTION_CARD: 8,
  127. SMOKE_SENSOR: 9,
  128. TEMPERATURE_SENSOR: 10,
  129. LIGHT_SENSOR: 11,
  130. FLOODING_SENSOR: 12,
  131. TRANSLOCATION_SENSOR: 13
  132. }
  133. export const ThirdPartyDeviceInfo = {
  134. [ThirdPartyDevice.GATEWAY]: '物联网关',
  135. [ThirdPartyDevice.RECEIVING_CARD]: '接收卡',
  136. [ThirdPartyDevice.SENDING_CARD]: '发送控制设备',
  137. [ThirdPartyDevice.SCREEN]: '屏',
  138. [ThirdPartyDevice.LED_CAMERA]: '监控摄像头',
  139. [ThirdPartyDevice.TRAFFIC_CAMERA]: '人流摄像头',
  140. [ThirdPartyDevice.PLC]: 'PLC',
  141. [ThirdPartyDevice.BOX]: '终端设备',
  142. [ThirdPartyDevice.MULTI_FUNCTION_CARD]: '多功能卡',
  143. [ThirdPartyDevice.SMOKE_SENSOR]: '烟雾传感器',
  144. [ThirdPartyDevice.TEMPERATURE_SENSOR]: '温度传感器',
  145. [ThirdPartyDevice.LIGHT_SENSOR]: '光照传感器',
  146. [ThirdPartyDevice.FLOODING_SENSOR]: '水浸传感器',
  147. [ThirdPartyDevice.TRANSLOCATION_SENSOR]: '位移传感器'
  148. }
  149. export const Camera = {
  150. LED: 1,
  151. TRAFFIC: 2
  152. }
  153. export const CameraToThirdPartyMap = {
  154. [Camera.LED]: ThirdPartyDevice.LED_CAMERA,
  155. [Camera.TRAFFIC]: ThirdPartyDevice.TRAFFIC_CAMERA
  156. }
  157. export const ThirdPartyToCameraMap = {
  158. [ThirdPartyDevice.LED_CAMERA]: Camera.LED,
  159. [ThirdPartyDevice.TRAFFIC_CAMERA]: Camera.TRAFFIC
  160. }
  161. export const CameraInfo = {
  162. [Camera.LED]: ThirdPartyDeviceInfo[CameraToThirdPartyMap[Camera.LED]],
  163. [Camera.TRAFFIC]: ThirdPartyDeviceInfo[CameraToThirdPartyMap[Camera.TRAFFIC]]
  164. }
  165. export const SendingCard = {
  166. IS_ASYNC: 1,
  167. SUPPORT_DETECTION: 1 << 1,
  168. SUPPORT_CONTENT_PROTECTION: 1 << 2,
  169. RECOVERY_CARD: 1 << 3
  170. }
  171. export const SendingCardFeatures = [
  172. { key: 'IS_ASYNC', label: '异步盒' },
  173. { key: 'SUPPORT_DETECTION', label: '设备监测' },
  174. { key: 'SUPPORT_CONTENT_PROTECTION', label: '内容保护' },
  175. { key: 'RECOVERY_CARD', label: '回采卡' }
  176. ]
  177. export const ReceivingCard = {
  178. TEMPERATURE: 1,
  179. VOLTAGE: 1 << 1,
  180. MONITOR: 1 << 2
  181. }
  182. export const ReceivingCardFeatures = [
  183. { key: 'TEMPERATURE', label: '温度检测' },
  184. { key: 'VOLTAGE', label: '电压检测' },
  185. { key: 'MONITOR', label: '支持检测卡' }
  186. ]
  187. export const Sensor = {
  188. SMOKE: 0,
  189. TEMPERATURE: 1,
  190. LIGHT: 2,
  191. FLOODING: 3,
  192. TRANSLOCATION: 4
  193. }
  194. export const SensorToThirdPartyMap = {
  195. [Sensor.SMOKE]: ThirdPartyDevice.SMOKE_SENSOR,
  196. [Sensor.TEMPERATURE]: ThirdPartyDevice.TEMPERATURE_SENSOR,
  197. [Sensor.LIGHT]: ThirdPartyDevice.LIGHT_SENSOR,
  198. [Sensor.FLOODING]: ThirdPartyDevice.FLOODING_SENSOR,
  199. [Sensor.TRANSLOCATION]: ThirdPartyDevice.TRANSLOCATION_SENSOR
  200. }
  201. export const ThirdPartyToSensorMap = {
  202. [ThirdPartyDevice.SMOKE_SENSOR]: Sensor.SMOKE,
  203. [ThirdPartyDevice.TEMPERATURE_SENSOR]: Sensor.TEMPERATURE,
  204. [ThirdPartyDevice.LIGHT_SENSOR]: Sensor.LIGHT,
  205. [ThirdPartyDevice.FLOODING_SENSOR]: Sensor.FLOODING,
  206. [ThirdPartyDevice.TRANSLOCATION_SENSOR]: Sensor.TRANSLOCATION
  207. }
  208. export const SensorInfo = {
  209. [Sensor.SMOKE]: ThirdPartyDeviceInfo[SensorToThirdPartyMap[Sensor.SMOKE]],
  210. [Sensor.TEMPERATURE]: ThirdPartyDeviceInfo[SensorToThirdPartyMap[Sensor.TEMPERATURE]],
  211. [Sensor.LIGHT]: ThirdPartyDeviceInfo[SensorToThirdPartyMap[Sensor.LIGHT]],
  212. [Sensor.FLOODING]: ThirdPartyDeviceInfo[SensorToThirdPartyMap[Sensor.FLOODING]],
  213. [Sensor.TRANSLOCATION]: ThirdPartyDeviceInfo[SensorToThirdPartyMap[Sensor.TRANSLOCATION]]
  214. }
  215. export const Role = {
  216. SUPER_ADMIN: 'ROLE_SUPER_ADMIN',
  217. ADMIN: 'ROLE_ADMIN',
  218. SUPERVISOR: 'ROLE_OPERATION_SUPERVISOR',
  219. STAFF: 'ROLE_OPERATION_STAFF',
  220. FIRST_LEVEL_REVIEWER: 'ROLE_FIRST_LEVEL_REVIEWER',
  221. SECOND_LEVEL_REVIEWER: 'ROLE_SECOND_LEVEL_REVIEWER',
  222. FINAL_REVIEWER: 'ROLE_FINAL_REVIEWER',
  223. VISITOR: '__ROLE_VISITOR__'
  224. }
  225. export const Access = {
  226. MANAGE_TENANTS: 'manange-tenants',
  227. MANAGE_TENANT: 'manange-tenant',
  228. MANAGE_GROUP: 'manage-group',
  229. MANAGE_DEVICE: 'manage-device',
  230. MANAGE_CALENDAR: 'manage-calendar',
  231. VIEW_LOGS: 'view-logs',
  232. REVIEW_RELEASE_FIRST: 'review-release-first',
  233. REVIEW_RELEASE_SECOND: 'review-release-second',
  234. REVIEW_RELEASE_FINAL: 'review-release-final'
  235. }
  236. export const RoleAccess = {
  237. [Role.SUPER_ADMIN]: [
  238. Access.MANAGE_TENANTS,
  239. Access.MANAGE_TENANT,
  240. Access.MANAGE_GROUP,
  241. Access.MANAGE_CALENDAR,
  242. Access.MANAGE_DEVICE,
  243. Access.REVIEW_RELEASE_FIRST,
  244. Access.REVIEW_RELEASE_SECOND,
  245. Access.REVIEW_RELEASE_FINAL
  246. ],
  247. [Role.ADMIN]: [
  248. Access.MANAGE_TENANT,
  249. Access.MANAGE_GROUP,
  250. Access.MANAGE_CALENDAR,
  251. Access.MANAGE_DEVICE
  252. ],
  253. [Role.SUPERVISOR]: [
  254. Access.MANAGE_GROUP,
  255. Access.MANAGE_DEVICE
  256. ],
  257. [Role.STAFF]: [
  258. Access.MANAGE_CALENDAR,
  259. Access.MANAGE_DEVICE
  260. ],
  261. [Role.FIRST_LEVEL_REVIEWER]: [
  262. Access.REVIEW_RELEASE_FIRST
  263. ],
  264. [Role.SECOND_LEVEL_REVIEWER]: [
  265. Access.REVIEW_RELEASE_SECOND
  266. ],
  267. [Role.FINAL_REVIEWER]: [
  268. Access.REVIEW_RELEASE_FINAL
  269. ]
  270. }
  271. export const AlarmLevelInfo = {
  272. 0: '提示性预警',
  273. 1: '中级预警',
  274. 2: '紧急预警',
  275. 9999: '自定义'
  276. }
  277. export const AlarmStrategies = [
  278. { key: 'note', label: '短信', support: __PHONE_NOTE__ },
  279. { key: 'email', label: '邮件', support: __EMAIL__ },
  280. { key: 'wechat', label: '微信', support: __WECHAT__ },
  281. { key: 'wechatApplet', label: '小程序', support: __WECHAT__ }
  282. ]
  283. export const SupportedAlarmStrategies = AlarmStrategies.filter(({ support }) => support)
  284. export const TimeType = {
  285. SCREEN: 1,
  286. RANGE: 2,
  287. POINT: 3
  288. }
  289. export const SCREEN_TIME_KEY = 'screen'
  290. export const TaskFromType = {
  291. FILL: 0,
  292. ORDER: 1,
  293. ASSET: 2,
  294. CONTRACT: 3
  295. }
  296. export const TaskFromTypeInfo = {
  297. [TaskFromType.FILL]: '填充',
  298. [TaskFromType.ORDER]: '订单',
  299. [TaskFromType.ASSET]: '素材',
  300. [TaskFromType.CONTRACT]: '合同'
  301. }
  302. export const Dataset = {
  303. FILL: 0,
  304. COMMON: 1
  305. }
  306. export const AppletOrderType = {
  307. PACKAGE: 1,
  308. SOON: 2,
  309. DAILY: 3
  310. }
  311. export const AppletOrderKeyMap = {
  312. [AppletOrderType.PACKAGE]: 'orders',
  313. [AppletOrderType.SOON]: 'directOrders',
  314. [AppletOrderType.DAILY]: 'injectOrders'
  315. }
  316. export const AppletOrderAssetKeyMap = {
  317. [AppletOrderType.PACKAGE]: 'assets',
  318. [AppletOrderType.SOON]: 'directAssets',
  319. [AppletOrderType.DAILY]: 'injectAssets'
  320. }
  321. export const Quality = {
  322. f: {
  323. videoWidth: 640,
  324. videoHeight: 360,
  325. videoBitRate: 36 * 1024,
  326. frameRate: 10
  327. },
  328. ff: {
  329. videoWidth: 1280,
  330. videoHeight: 720,
  331. videoBitRate: 100 * 1024,
  332. frameRate: 10
  333. },
  334. fff: {
  335. videoWidth: 1920,
  336. videoHeight: 1080,
  337. videoBitRate: 1024 * 1024,
  338. frameRate: 20
  339. }
  340. }
  341. export const Frequency = {
  342. DAILY: 0,
  343. WEEKLY: 1,
  344. ONCE: 2
  345. }
  346. export const BoxModels = [
  347. { value: 'U8系列', label: 'U8系列' },
  348. { value: 'TB系列', label: 'TB系列' },
  349. { value: '9210', label: '9210' }
  350. ]
  351. // 为适配诺瓦
  352. export const FOREVER = '4016-06-06'
  353. export const PowerAction = {
  354. OPEN: 0,
  355. CLOSE: 1
  356. }