constant.js 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405
  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. DAILY: 'DAILY',
  105. WEEKLY: 'WEEKLY',
  106. MULTI: 'MULTI'
  107. }
  108. export const EventTarget = {
  109. PROGRAM: 1,
  110. RECUR: 2,
  111. ASSETS: 3
  112. }
  113. export const EventTargetInfo = {
  114. [EventTarget.PROGRAM]: '节目',
  115. [EventTarget.RECUR]: '轮播',
  116. [EventTarget.ASSETS]: '素材包'
  117. }
  118. export const ThirdPartyDevice = {
  119. GATEWAY: 0,
  120. RECEIVING_CARD: 1,
  121. SENDING_CARD: 2,
  122. SCREEN: 3,
  123. LED_CAMERA: 4,
  124. TRAFFIC_CAMERA: 5,
  125. PLC: 6,
  126. BOX: 7,
  127. MULTI_FUNCTION_CARD: 8,
  128. SMOKE_SENSOR: 9,
  129. TEMPERATURE_SENSOR: 10,
  130. LIGHT_SENSOR: 11,
  131. FLOODING_SENSOR: 12,
  132. TRANSLOCATION_SENSOR: 13
  133. }
  134. export const ThirdPartyDeviceInfo = {
  135. [ThirdPartyDevice.GATEWAY]: '物联网关',
  136. [ThirdPartyDevice.RECEIVING_CARD]: '接收卡',
  137. [ThirdPartyDevice.SENDING_CARD]: '发送控制设备',
  138. [ThirdPartyDevice.SCREEN]: '屏',
  139. [ThirdPartyDevice.LED_CAMERA]: '监控摄像头',
  140. [ThirdPartyDevice.TRAFFIC_CAMERA]: '人流摄像头',
  141. [ThirdPartyDevice.PLC]: 'PLC',
  142. [ThirdPartyDevice.BOX]: '终端设备',
  143. [ThirdPartyDevice.MULTI_FUNCTION_CARD]: '多功能卡',
  144. [ThirdPartyDevice.SMOKE_SENSOR]: '烟雾传感器',
  145. [ThirdPartyDevice.TEMPERATURE_SENSOR]: '温度传感器',
  146. [ThirdPartyDevice.LIGHT_SENSOR]: '光照传感器',
  147. [ThirdPartyDevice.FLOODING_SENSOR]: '水浸传感器',
  148. [ThirdPartyDevice.TRANSLOCATION_SENSOR]: '位移传感器'
  149. }
  150. export const Camera = {
  151. LED: 1,
  152. TRAFFIC: 2
  153. }
  154. export const CameraToThirdPartyMap = {
  155. [Camera.LED]: ThirdPartyDevice.LED_CAMERA,
  156. [Camera.TRAFFIC]: ThirdPartyDevice.TRAFFIC_CAMERA
  157. }
  158. export const ThirdPartyToCameraMap = {
  159. [ThirdPartyDevice.LED_CAMERA]: Camera.LED,
  160. [ThirdPartyDevice.TRAFFIC_CAMERA]: Camera.TRAFFIC
  161. }
  162. export const CameraInfo = {
  163. [Camera.LED]: ThirdPartyDeviceInfo[CameraToThirdPartyMap[Camera.LED]],
  164. [Camera.TRAFFIC]: ThirdPartyDeviceInfo[CameraToThirdPartyMap[Camera.TRAFFIC]]
  165. }
  166. export const SendingCard = {
  167. IS_ASYNC: 1,
  168. SUPPORT_DETECTION: 1 << 1,
  169. SUPPORT_CONTENT_PROTECTION: 1 << 2,
  170. RECOVERY_CARD: 1 << 3
  171. }
  172. export const SendingCardFeatures = [
  173. { key: 'IS_ASYNC', label: '异步盒' },
  174. { key: 'SUPPORT_DETECTION', label: '设备监测' },
  175. { key: 'SUPPORT_CONTENT_PROTECTION', label: '内容保护' },
  176. { key: 'RECOVERY_CARD', label: '回采卡' }
  177. ]
  178. export const ReceivingCard = {
  179. TEMPERATURE: 1,
  180. VOLTAGE: 1 << 1,
  181. MONITOR: 1 << 2
  182. }
  183. export const ReceivingCardFeatures = [
  184. { key: 'TEMPERATURE', label: '温度检测' },
  185. { key: 'VOLTAGE', label: '电压检测' },
  186. { key: 'MONITOR', label: '支持检测卡' }
  187. ]
  188. export const Sensor = {
  189. SMOKE: 0,
  190. TEMPERATURE: 1,
  191. LIGHT: 2,
  192. FLOODING: 3,
  193. TRANSLOCATION: 4
  194. }
  195. export const SensorToThirdPartyMap = {
  196. [Sensor.SMOKE]: ThirdPartyDevice.SMOKE_SENSOR,
  197. [Sensor.TEMPERATURE]: ThirdPartyDevice.TEMPERATURE_SENSOR,
  198. [Sensor.LIGHT]: ThirdPartyDevice.LIGHT_SENSOR,
  199. [Sensor.FLOODING]: ThirdPartyDevice.FLOODING_SENSOR,
  200. [Sensor.TRANSLOCATION]: ThirdPartyDevice.TRANSLOCATION_SENSOR
  201. }
  202. export const ThirdPartyToSensorMap = {
  203. [ThirdPartyDevice.SMOKE_SENSOR]: Sensor.SMOKE,
  204. [ThirdPartyDevice.TEMPERATURE_SENSOR]: Sensor.TEMPERATURE,
  205. [ThirdPartyDevice.LIGHT_SENSOR]: Sensor.LIGHT,
  206. [ThirdPartyDevice.FLOODING_SENSOR]: Sensor.FLOODING,
  207. [ThirdPartyDevice.TRANSLOCATION_SENSOR]: Sensor.TRANSLOCATION
  208. }
  209. export const SensorInfo = {
  210. [Sensor.SMOKE]: ThirdPartyDeviceInfo[SensorToThirdPartyMap[Sensor.SMOKE]],
  211. [Sensor.TEMPERATURE]: ThirdPartyDeviceInfo[SensorToThirdPartyMap[Sensor.TEMPERATURE]],
  212. [Sensor.LIGHT]: ThirdPartyDeviceInfo[SensorToThirdPartyMap[Sensor.LIGHT]],
  213. [Sensor.FLOODING]: ThirdPartyDeviceInfo[SensorToThirdPartyMap[Sensor.FLOODING]],
  214. [Sensor.TRANSLOCATION]: ThirdPartyDeviceInfo[SensorToThirdPartyMap[Sensor.TRANSLOCATION]]
  215. }
  216. export const Role = {
  217. SUPER_ADMIN: 'ROLE_SUPER_ADMIN',
  218. ADMIN: 'ROLE_ADMIN',
  219. SUPERVISOR: 'ROLE_OPERATION_SUPERVISOR',
  220. STAFF: 'ROLE_OPERATION_STAFF',
  221. FIRST_LEVEL_REVIEWER: 'ROLE_FIRST_LEVEL_REVIEWER',
  222. SECOND_LEVEL_REVIEWER: 'ROLE_SECOND_LEVEL_REVIEWER',
  223. FINAL_REVIEWER: 'ROLE_FINAL_REVIEWER',
  224. VISITOR: '__ROLE_VISITOR__'
  225. }
  226. export const JUMP_REVIEW = true
  227. export const Access = {
  228. MANAGE_TENANTS: 'manange-tenants',
  229. MANAGE_TENANT: 'manange-tenant',
  230. MANAGE_GROUP: 'manage-group',
  231. MANAGE_DEVICE: 'manage-device',
  232. MANAGE_CALENDAR: 'manage-calendar',
  233. VIEW_LOGS: 'view-logs',
  234. REVIEW_RELEASE_FIRST: 'review-release-first',
  235. REVIEW_RELEASE_SECOND: 'review-release-second',
  236. REVIEW_RELEASE_FINAL: 'review-release-final'
  237. }
  238. export const RoleAccess = {
  239. [Role.SUPER_ADMIN]: [
  240. Access.MANAGE_TENANTS,
  241. Access.MANAGE_TENANT,
  242. Access.MANAGE_GROUP,
  243. Access.MANAGE_CALENDAR,
  244. Access.MANAGE_DEVICE,
  245. Access.REVIEW_RELEASE_FIRST,
  246. Access.REVIEW_RELEASE_SECOND,
  247. Access.REVIEW_RELEASE_FINAL
  248. ],
  249. [Role.ADMIN]: [
  250. Access.MANAGE_TENANT,
  251. Access.MANAGE_GROUP,
  252. Access.MANAGE_CALENDAR,
  253. Access.MANAGE_DEVICE
  254. ],
  255. [Role.SUPERVISOR]: [
  256. Access.MANAGE_GROUP,
  257. Access.MANAGE_DEVICE
  258. ],
  259. [Role.STAFF]: [
  260. Access.MANAGE_CALENDAR,
  261. Access.MANAGE_DEVICE
  262. ],
  263. [Role.FIRST_LEVEL_REVIEWER]: [
  264. Access.REVIEW_RELEASE_FIRST
  265. ],
  266. [Role.SECOND_LEVEL_REVIEWER]: [
  267. Access.REVIEW_RELEASE_SECOND
  268. ],
  269. [Role.FINAL_REVIEWER]: [
  270. Access.REVIEW_RELEASE_FINAL
  271. ]
  272. }
  273. export const AlarmLevelInfo = {
  274. 0: '提示性预警',
  275. 1: '中级预警',
  276. 2: '紧急预警',
  277. 9999: '自定义'
  278. }
  279. export const AlarmStrategies = [
  280. { key: 'note', label: '短信', support: true },
  281. { key: 'email', label: '邮件', support: true },
  282. { key: 'wechat', label: '微信', support: __WECHAT__ },
  283. { key: 'wechatApplet', label: '小程序', support: __WECHAT__ }
  284. ]
  285. export const SupportedAlarmStrategies = AlarmStrategies.filter(({ support }) => support)
  286. export const TimeType = {
  287. SCREEN: 1,
  288. RANGE: 2,
  289. POINT: 3
  290. }
  291. export const SCREEN_TIME_KEY = 'screen'
  292. export const TaskFromType = {
  293. FILL: 0,
  294. ORDER: 1,
  295. ASSET: 2,
  296. CONTRACT: 3
  297. }
  298. export const TaskFromTypeInfo = {
  299. [TaskFromType.FILL]: '填充',
  300. [TaskFromType.ORDER]: '订单',
  301. [TaskFromType.ASSET]: '素材',
  302. [TaskFromType.CONTRACT]: '合同'
  303. }
  304. export const Dataset = {
  305. FILL: 0,
  306. COMMON: 1
  307. }
  308. export const AppletOrderType = {
  309. PACKAGE: 1,
  310. SOON: 2,
  311. DAILY: 3
  312. }
  313. export const AppletOrderKeyMap = {
  314. [AppletOrderType.PACKAGE]: 'orders',
  315. [AppletOrderType.SOON]: 'directOrders',
  316. [AppletOrderType.DAILY]: 'injectOrders'
  317. }
  318. export const AppletOrderAssetKeyMap = {
  319. [AppletOrderType.PACKAGE]: 'assets',
  320. [AppletOrderType.SOON]: 'directAssets',
  321. [AppletOrderType.DAILY]: 'injectAssets'
  322. }
  323. export const Quality = {
  324. f: {
  325. videoWidth: 640,
  326. videoHeight: 360,
  327. videoBitRate: 36 * 1024,
  328. frameRate: 1
  329. },
  330. ff: {
  331. videoWidth: 1280,
  332. videoHeight: 720,
  333. videoBitRate: 100 * 1024,
  334. frameRate: 10
  335. },
  336. fff: {
  337. videoWidth: 1920,
  338. videoHeight: 1080,
  339. videoBitRate: 1024 * 1024,
  340. frameRate: 20
  341. }
  342. }
  343. export const Frequency = {
  344. DAILY: 0,
  345. WEEKLY: 1,
  346. ONCE: 2
  347. }
  348. export const BoxModels = [
  349. { value: 'U8系列', label: 'U8系列' },
  350. { value: 'TB系列', label: 'TB系列' },
  351. { value: '9210', label: '9210' }
  352. ]