constant.js 9.9 KB

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