wangjunyi
2023-04-27 8ef5e2618d6fed0bbfea1aca99ca010b1e041718
web_src/src/components/dialog/recordDownload.vue
@@ -71,7 +71,7 @@
        getProgress: function (callback){
          this.$axios({
            method: 'get',
            url: `./api/gb_record/download/progress/${this.deviceId}/${this.channelId}/${this.stream}`
            url: `/api/gb_record/download/progress/${this.deviceId}/${this.channelId}/${this.stream}`
          }).then((res)=> {
            console.log(res)
              if (res.data.code === 0) {
@@ -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;
@@ -124,7 +127,7 @@
        stopDownloadRecord: function (callback) {
          this.$axios({
            method: 'get',
            url: './api/gb_record/download/stop/' + this.deviceId + "/" + this.channelId+ "/" + this.stream
            url: '/api/gb_record/download/stop/' + this.deviceId + "/" + this.channelId+ "/" + this.stream
          }).then((res)=> {
            if (callback) callback(res)
          });
@@ -132,7 +135,7 @@
        getFileDownload: function (){
          this.$axios({
            method: 'get',
            url:`./record_proxy/${this.mediaServerId}/api/record/file/download/task/add`,
            url:`/record_proxy/${this.mediaServerId}/api/record/file/download/task/add`,
            params: {
              app: this.app,
              stream: this.stream,
@@ -158,13 +161,13 @@
          }
          setTimeout( ()=>{
            if (!this.showDialog) return;
            this.getProgressForFile(this.getProgressForFileTimer())
            this.getProgressForFile(this.getProgressForFileTimer)
          }, 1000)
        },
        getProgressForFile: function (callback){
          this.$axios({
            method: 'get',
            url:`./record_proxy/${this.mediaServerId}/api/record/file/download/task/list`,
            url:`/record_proxy/${this.mediaServerId}/api/record/file/download/task/list`,
            params: {
              app: this.app,
              stream: this.stream,
@@ -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)