648540858
2023-05-09 a2da81f79a40f275704e10789903ffe85d0c0be8
web_src/src/components/dialog/recordDownload.vue
@@ -21,7 +21,7 @@
export default {
    name: 'recordDownload',
    created() {
      window.addEventListener('beforeunload', this.stopDownloadRecord)
    },
    data() {
@@ -96,7 +96,10 @@
          });
        },
        close: function (){
          this.stopDownloadRecord();
          if (this.streamInfo.progress < 1) {
            this.stopDownloadRecord();
          }
          if (this.timer !== null) {
            window.clearTimeout(this.timer);
            this.timer = null;
@@ -158,7 +161,7 @@
          }
          setTimeout( ()=>{
            if (!this.showDialog) return;
            this.getProgressForFile(this.getProgressForFileTimer())
            this.getProgressForFile(this.getProgressForFileTimer)
          }, 1000)
        },
        getProgressForFile: function (callback){
@@ -176,9 +179,12 @@
            if (res.data.code === 0) {
              if (res.data.data.length === 0){
                this.percentage = 0
                // 往往在多次请求后(实验五分钟的视频是三次请求),才会返回数据,第一次请求通常是返回空数组
                if (callback)callback()
                return
              }
                this.percentage = parseFloat(res.data.data.percentage)*100
              // res.data.data应是数组类型
                this.percentage = parseFloat(res.data.data[0].percentage)*100
                 if (res.data.data[0].percentage === '1') {
                   this.getProgressForFileRun = false;
                   window.open(res.data.data[0].downloadFile)
@@ -191,6 +197,9 @@
            console.log(error);
          });
        }
    },
    destroyed() {
      window.removeEventListener('beforeunload', this.stopDownloadRecord)
    }
};
</script>