platform.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. import {
  2. PublishType,
  3. AssetTagInfo,
  4. AssetTypeInfo
  5. } from '@/constant'
  6. import {
  7. parseByte,
  8. parseTime,
  9. getAssetThumb,
  10. getAssetDiff
  11. } from '@/utils'
  12. import request, { tenantRequest } from '@/utils/request'
  13. import {
  14. add,
  15. del,
  16. send,
  17. messageSend,
  18. addUser,
  19. addTenant,
  20. addTenantAndOrg
  21. } from './base'
  22. // 发布
  23. export function publish (type, ids, targetList, options) {
  24. const requestData = addTenantAndOrg({
  25. type,
  26. targetList: targetList.map(publishTarget => JSON.stringify(publishTarget)),
  27. ...options
  28. })
  29. switch (type) {
  30. case PublishType.PROGRAM_TO_DEVICE:
  31. case PublishType.ASSET_TO_DEVICE:
  32. requestData.deviceIds = ids
  33. break
  34. case PublishType.PROGRAM_TO_PRODUCT_TYPE:
  35. case PublishType.ASSET_TO_PRODUCT_TYPE:
  36. requestData.productTypeIds = ids
  37. break
  38. default:
  39. break
  40. }
  41. return messageSend({
  42. url: '/orchestration/calendarReleaseScheduling',
  43. method: 'POST',
  44. data: requestData
  45. }, '发布', tenantRequest)
  46. }
  47. export function savePowerLogger (data) {
  48. const { user } = addUser()
  49. return tenantRequest({
  50. url: '/sysLog/webOperation',
  51. method: 'POST',
  52. data: addTenant({
  53. userId: user,
  54. business: 5,
  55. ip: '',
  56. costTime: 0,
  57. status: 1,
  58. operTime: parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}'),
  59. ...data
  60. }),
  61. custom: true,
  62. background: true
  63. })
  64. }
  65. export function saveBoxLogger (data) {
  66. const { user } = addUser()
  67. return tenantRequest({
  68. url: '/sysLog/webOperation',
  69. method: 'POST',
  70. data: addTenant({
  71. userId: user,
  72. business: 99,
  73. ip: '',
  74. costTime: 0,
  75. status: 1,
  76. operTime: parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}'),
  77. ...data
  78. }),
  79. custom: true,
  80. background: true
  81. })
  82. }
  83. export function getSpacers (data) {
  84. return request({
  85. url: '/device/spacer/query',
  86. method: 'POST',
  87. data
  88. }).then(({ data: { spacers } }) => {
  89. return {
  90. data: spacers.map(spacer => {
  91. spacer.file = {
  92. type: spacer.type,
  93. url: spacer.keyName,
  94. thumb: getAssetThumb(spacer)
  95. }
  96. spacer.tagInfo = AssetTagInfo[spacer.tag]
  97. spacer.typeInfo = AssetTypeInfo[spacer.type]
  98. spacer.sizeInfo = parseByte(spacer.size)
  99. spacer.diff = getAssetDiff(spacer)
  100. return spacer
  101. })
  102. }
  103. })
  104. }
  105. export function addSpacers (data) {
  106. return add({
  107. url: '/device/spacer/set',
  108. method: 'POST',
  109. data
  110. })
  111. }
  112. export function deleteSpacer ({ id }) {
  113. return del({
  114. url: `/device/spacer/delete?id=${id}`,
  115. method: 'DELETE'
  116. })
  117. }
  118. export function sendDeviceAlarm (data) {
  119. return request({
  120. url: '/device/error/record',
  121. method: 'POST',
  122. data: {
  123. messageId: `web_${Date.now()}_${Math.random().toString(16).slice(2)}`,
  124. handleEnumId: 3,
  125. statusEnumId: 0,
  126. happenTime: parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}'),
  127. ...data
  128. }
  129. })
  130. }
  131. // 批量关闭/开启
  132. export function toggleDevicePower (data) {
  133. return messageSend({
  134. url: '/device/screenPower/batchOperate',
  135. method: 'POST',
  136. data
  137. }, '添加批量任务')
  138. }
  139. // 查询上次操作
  140. export function getOperationResult (operationId) {
  141. return (operationId ? request : send)({
  142. url: '/device/screenPower/batchOperate',
  143. method: 'GET',
  144. params: { operationId }
  145. })
  146. }
  147. // 分页查询历史操作结果
  148. export function getOperationResults (query) {
  149. const { pageNum: pageIndex, pageSize, ...params } = query
  150. return request({
  151. url: '/device/screenPower/operationResult/pageQuery',
  152. method: 'GET',
  153. params: {
  154. pageIndex, pageSize,
  155. ...params
  156. }
  157. })
  158. }