From a2d93fce811acc83ad5ff0b4a93403db22795a10 Mon Sep 17 00:00:00 2001 From: winfed <chinesezwf@gmail.com> Date: 星期五, 09 六月 2023 15:19:18 +0800 Subject: [PATCH] fix:修复拉流代理配置展示问题:音频、录制、无人观看 --- web_src/src/components/dialog/recordDownload.vue | 39 +++++++++++++++++++++++++++------------ 1 files changed, 27 insertions(+), 12 deletions(-) diff --git a/web_src/src/components/dialog/recordDownload.vue b/web_src/src/components/dialog/recordDownload.vue index 4677487..7a94540 100644 --- a/web_src/src/components/dialog/recordDownload.vue +++ b/web_src/src/components/dialog/recordDownload.vue @@ -7,6 +7,7 @@ </el-col> <el-col :span="6" > <el-button icon="el-icon-download" v-if="percentage < 100" size="mini" title="鐐瑰嚮涓嬭浇鍙皢浠ョ紦瀛橀儴鍒嗕笅杞藉埌鏈湴" @click="download()">鍋滄缂撳瓨骞朵笅杞�</el-button> + <el-button icon="el-icon-download" v-if="downloadFile" size="mini" title="鐐瑰嚮涓嬭浇" @click="downloadFileClientEvent()">鐐瑰嚮涓嬭浇</el-button> </el-col> </el-row> </el-dialog> @@ -21,7 +22,7 @@ export default { name: 'recordDownload', created() { - + window.addEventListener('beforeunload', this.stopDownloadRecord) }, data() { @@ -39,7 +40,8 @@ taskId: null, getProgressRun: false, getProgressForFileRun: false, - timer: null + timer: null, + downloadFile: null, }; }, @@ -71,7 +73,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 +98,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 +129,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 +137,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 +163,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,13 +181,17 @@ 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) - this.close(); + this.downloadFile = res.data.data[0].downloadFile + this.title = "鏂囦欢澶勭悊瀹屾垚锛岀偣鍑绘寜鎵笅杞�" + // window.open(res.data.data[0].downloadFile) }else { if (callback)callback() } @@ -190,7 +199,13 @@ }).catch(function (error) { console.log(error); }); - } + }, + downloadFileClientEvent: function (){ + window.open(this.downloadFile ) + } + }, + destroyed() { + window.removeEventListener('beforeunload', this.stopDownloadRecord) } }; </script> -- Gitblit v1.8.0