Newer
Older
safe_production_front / src / utils / hik.ts
import { playback, preview, talk } from '@/api/monitor/hik'
import { ElMessage } from 'element-plus'

export async function getPreviewUrl(cameraIndexCode: any) {
  return new Promise((resolve, reject) => {
    preview({
      cameraIndexCode,
      protocol: 'ws'
    })
      .then((response: any) => {
        console.log('ISC preview 接口')

        if (response.code === '0') {
          resolve(response.data.url)
        }
      })
      .catch(() => {
        // eslint-disable-next-line prefer-promise-reject-errors
        reject('')
      })
  })
}

export async function getPlaybackUrl(
  cameraIndexCode: any,
  beginTime: any,
  endTime: any
) {
  return new Promise((resolve, reject) => {
    playback({
      cameraIndexCode,
      beginTime,
      endTime,
      recordLocation: 1, // 录像的锁定类型,0-全部录像;1-未锁定录像;2-已锁定录像
      protocol: 'ws'
    })
      .then((response: any) => {
        if (response.code === '0') {
          if (response && response.data && response.data.url) {
            resolve(response.data.url)
          } else {
            ElMessage.warning('此时间段未获取到场景回放!')
          }
        }
      })
      .catch(() => {
        ElMessage.warning('获取场景回放失败!')
        // eslint-disable-next-line prefer-promise-reject-errors
        reject('')
      })
  })
}

export async function getTalkUrl(
  cameraIndexCode: any,
  beginTime: any,
  endTime: any
) {
  return new Promise((resolve, reject) => {
    talk({
      cameraIndexCode
      // protocol: 'ws',
    }).then((response: any) => {
      if (response.code === '0') {
        resolve(response.data.url)
      }
    })
  })
}