constant.js 8.4 KB

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