

(1)根据时间查询(开始与结束时间之间的录像数据)
let startTime = moment(this.listQuery.date).format('YYYYMMDDT000000');let endTime = moment(this.listQuery.date).format('YYYYMMDDT235959');(2)展示列表 如图:(包含设备名称、日期、时间、每段录像时长)

当一段录像数据的时长超过30分钟,数据就可能达到几百上千兆,将采用分段下载,这样可以减小单个录像数据体积,避免下载等待时间过长,将每段录像时长控制在30分钟以内,下载的等待时间稍短。
let startTime = moment.duration(row.time.split('-')[0]).asMilliseconds()let endTime = moment.duration(row.time.split('-')[1]).asMilliseconds()let total = moment.duration(endTime - startTime).asMilliseconds()let interval = 30 * 60 * 1000let paragraph = Math.floor(total / interval)let moreThan = total % intervallet arr = []for (let i = 0; i < paragraph; i++) {   arr.push({      name: row.name,      date: row.date,      indexCode: row.indexCode,      time: row.time,      duration: moment.utc(interval).format('HH:mm:ss'),      start: moment(Number(moment(row.date).format('x')) + startTime + i * interval).format('HH:mm:ss'),      end: moment(Number(moment(row.date).format('x')) + startTime + i * interval + interval).format('HH:mm:ss'),      startstamp: Number(moment(row.date).format('x')) + startTime + i * interval,      endstamp: Number(moment(row.date).format('x')) + startTime + i * interval + interval,   })}if (moreThan) {   arr.push({      name: row.name,      date: row.date,      indexCode: row.indexCode,      time: row.time,      duration: moment.utc(moreThan).format('HH:mm:ss'),      start: moment(Number(moment(row.date).format('x')) + startTime + paragraph * interval).format('HH:mm:ss'),      end: moment(Number(moment(row.date).format('x')) + startTime + paragraph * interval + moreThan).format('HH:mm:ss'),      startstamp: Number(moment(row.date).format('x')) + startTime + paragraph * interval,      endstamp: Number(moment(row.date).format('x')) + startTime + paragraph * interval + moreThan,   })}
通过传入下载对应参数 (名称、开始时间、结束时间)
let url = `${location.protocol}//${serverIp}:${serverPort}/DownloadRecord_${row.name}_${startTime}.ts?indexCode=${row.indexCode}&startTime=${startTime}&endTime=${endTime}`downloadFile(url, name) {  //创建下载  const doma = document.createElement('a');  document.body.append(doma)  doma.href = url;  doma.download = name  doma.rel = 'noopener noreferrer'  doma.click();  document.body.removeChild(doma)},原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。