import { PublishType, AssetTagInfo, AssetTypeInfo } from '@/constant' import { parseByte, parseTime, getAssetThumb, getAssetDiff } from '@/utils' import request, { tenantRequest } from '@/utils/request' import { add, del, send, messageSend, addUser, addTenant, addTenantAndOrg } from './base' // 发布 export function publish (type, ids, targetList, options) { const requestData = addTenantAndOrg({ type, targetList: targetList.map(publishTarget => JSON.stringify(publishTarget)), ...options }) switch (type) { case PublishType.PROGRAM_TO_DEVICE: case PublishType.ASSET_TO_DEVICE: requestData.deviceIds = ids break case PublishType.PROGRAM_TO_PRODUCT_TYPE: case PublishType.ASSET_TO_PRODUCT_TYPE: requestData.productTypeIds = ids break default: break } return messageSend({ url: '/orchestration/calendarReleaseScheduling', method: 'POST', data: requestData }, '发布', tenantRequest) } export function savePowerLogger (data) { const { user } = addUser() return tenantRequest({ url: '/sysLog/webOperation', method: 'POST', data: addTenant({ userId: user, business: 5, ip: '', costTime: 0, status: 1, operTime: parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}'), ...data }), custom: true, background: true }) } export function saveBoxLogger (data) { const { user } = addUser() return tenantRequest({ url: '/sysLog/webOperation', method: 'POST', data: addTenant({ userId: user, business: 99, ip: '', costTime: 0, status: 1, operTime: parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}'), ...data }), custom: true, background: true }) } export function getSpacers (data) { return request({ url: '/device/spacer/query', method: 'POST', data }).then(({ data: { spacers } }) => { return { data: spacers.map(spacer => { spacer.file = { type: spacer.type, url: spacer.keyName, thumb: getAssetThumb(spacer) } spacer.tagInfo = AssetTagInfo[spacer.tag] spacer.typeInfo = AssetTypeInfo[spacer.type] spacer.sizeInfo = parseByte(spacer.size) spacer.diff = getAssetDiff(spacer) return spacer }) } }) } export function addSpacers (data) { return add({ url: '/device/spacer/set', method: 'POST', data }) } export function deleteSpacer ({ id }) { return del({ url: `/device/spacer/delete?id=${id}`, method: 'DELETE' }) } export function sendDeviceAlarm (data) { return request({ url: '/device/error/record', method: 'POST', data: { messageId: `web_${Date.now()}_${Math.random().toString(16).slice(2)}`, handleEnumId: 3, statusEnumId: 0, happenTime: parseTime(new Date(), '{y}-{m}-{d} {h}:{i}:{s}'), ...data } }) } // 批量关闭/开启 export function toggleDevicePower (data) { return messageSend({ url: '/device/screenPower/batchOperate', method: 'POST', data }, '添加批量任务') } // 查询上次操作 export function getOperationResult (operationId) { return (operationId ? request : send)({ url: '/device/screenPower/batchOperate', method: 'GET', params: { operationId } }) } // 分页查询历史操作结果 export function getOperationResults (query) { const { pageNum: pageIndex, pageSize, ...params } = query return request({ url: '/device/screenPower/operationResult/pageQuery', method: 'GET', params: { pageIndex, pageSize, ...params } }) }