From 5b8ffd5b61666f399d1a46a403bfc8c5bf054ba5 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期三, 14 六月 2023 18:14:40 +0800 Subject: [PATCH] 修复前端空指针异常 #831 --- web_src/src/components/GBRecordDetail.vue | 44 ++++++++++++++++++++++++++++---------------- 1 files changed, 28 insertions(+), 16 deletions(-) diff --git a/web_src/src/components/GBRecordDetail.vue b/web_src/src/components/GBRecordDetail.vue index 938792a..f9fce20 100644 --- a/web_src/src/components/GBRecordDetail.vue +++ b/web_src/src/components/GBRecordDetail.vue @@ -182,9 +182,11 @@ this.playerStyle["height"] = this.winHeight + "px"; this.chooseDate = moment().format('YYYY-MM-DD') this.dateChange(); + window.addEventListener('beforeunload', this.stopPlayRecord) }, destroyed() { this.$destroy('recordVideoPlayer'); + window.removeEventListener('beforeunload', this.stopPlayRecord) }, methods: { dateChange(){ @@ -197,7 +199,7 @@ this.detailFiles = []; this.$axios({ method: 'get', - url: './api/gb_record/query/' + this.deviceId + '/' + this.channelId + '?startTime=' + this.startTime + '&endTime=' + this.endTime + url: '/api/gb_record/query/' + this.deviceId + '/' + this.channelId + '?startTime=' + this.startTime + '&endTime=' + this.endTime }).then((res)=>{ this.recordsLoading = false; if(res.data.code === 0) { @@ -249,7 +251,7 @@ } else { this.$axios({ method: 'get', - url: './api/playback/start/' + this.deviceId + '/' + this.channelId + '?startTime=' + this.startTime + '&endTime=' + + url: '/api/playback/start/' + this.deviceId + '/' + this.channelId + '?startTime=' + this.startTime + '&endTime=' + this.endTime }).then((res)=> { if (res.data.code === 0) { @@ -273,7 +275,7 @@ console.log('鍓嶇鎺у埗锛氭挱鏀�'); this.$axios({ method: 'get', - url: './api/playback/resume/' + this.streamId + url: '/api/playback/resume/' + this.streamId }).then((res)=> { this.$refs["recordVideoPlayer"].play(this.videoUrl) }); @@ -282,14 +284,14 @@ console.log('鍓嶇鎺у埗锛氭殏鍋�'); this.$axios({ method: 'get', - url: './api/playback/pause/' + this.streamId + url: '/api/playback/pause/' + this.streamId }).then(function (res) {}); }, gbScale(command){ console.log('鍓嶇鎺у埗锛氬�嶉�� ' + command); this.$axios({ method: 'get', - url: `./api/playback/speed/${this.streamId }/${command}` + url: `/api/playback/speed/${this.streamId }/${command}` }).then(function (res) {}); }, downloadRecord: function (row) { @@ -311,7 +313,7 @@ }else { this.$axios({ method: 'get', - url: './api/gb_record/download/start/' + this.deviceId + '/' + this.channelId + '?startTime=' + row.startTime + '&endTime=' + + url: '/api/gb_record/download/start/' + this.deviceId + '/' + this.channelId + '?startTime=' + row.startTime + '&endTime=' + row.endTime + '&downloadSpeed=4' }).then( (res)=> { if (res.data.code === 0) { @@ -332,20 +334,24 @@ this.videoUrl = ''; this.$axios({ method: 'get', - url: './api/gb_record/download/stop/' + this.deviceId + "/" + this.channelId+ "/" + this.streamId + url: '/api/gb_record/download/stop/' + this.deviceId + "/" + this.channelId+ "/" + this.streamId }).then((res)=> { if (callback) callback(res) }); }, stopPlayRecord: function (callback) { - this.$refs["recordVideoPlayer"].pause(); - this.videoUrl = ''; - this.$axios({ - method: 'get', - url: './api/playback/stop/' + this.deviceId + "/" + this.channelId + "/" + this.streamId - }).then(function (res) { - if (callback) callback() - }); + console.log("鍋滄褰曞儚鍥炴斁") + if (this.streamId !== "") { + this.$refs["recordVideoPlayer"].pause(); + this.videoUrl = ''; + this.$axios({ + method: 'get', + url: '/api/playback/stop/' + this.deviceId + "/" + this.channelId + "/" + this.streamId + }).then(function (res) { + if (callback) callback() + }); + } + }, getDataWidth(item){ let timeForFile = this.getTimeForFile(item); @@ -423,8 +429,14 @@ return hStr + ":" + mStr + ":" + sStr }, goBack(){ + // 濡傛灉姝e湪杩涜褰曞儚鍥炴斁鍒欙紝鍙戦�佸仠姝� + if (this.streamId !== "") { + this.stopPlayRecord(()=> { + this.streamId = ""; + }) + } window.history.go(-1); - } + }, } }; </script> -- Gitblit v1.8.0