| | |
| | | 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) { |
| | |
| | | }); |
| | | }, |
| | | close: function (){ |
| | | this.stopDownloadRecord(); |
| | | if (this.streamInfo.progress < 1) { |
| | | this.stopDownloadRecord(); |
| | | } |
| | | |
| | | if (this.timer !== null) { |
| | | window.clearTimeout(this.timer); |
| | | this.timer = null; |
| | |
| | | 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) |
| | | }); |
| | |
| | | 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, |
| | |
| | | } |
| | | 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, |
| | |
| | | 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) |