From c3ce2bc5d069ba57309567aee4ae418bc0cf75ed Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 17 三月 2023 13:22:05 +0800 Subject: [PATCH] 优化异常处理以及级联设备状态查询 --- web_src/src/components/live.vue | 54 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 35 insertions(+), 19 deletions(-) diff --git a/web_src/src/components/live.vue b/web_src/src/components/live.vue index 87d7ea8..4a7af49 100644 --- a/web_src/src/components/live.vue +++ b/web_src/src/components/live.vue @@ -17,7 +17,8 @@ :style="liveStyle" :class="{redborder:playerIdx == (i-1)}" @click="playerIdx = (i-1)"> <div v-if="!videoUrl[i-1]" style="color: #ffffff;font-size: 30px;font-weight: bold;">{{ i }}</div> - <player v-else :videoUrl="videoUrl[i-1]" fluent autoplay @screenshot="shot" @destroy="destroy"/> + <player ref="player" v-else :videoUrl="videoUrl[i-1]" fluent autoplay @screenshot="shot" + @destroy="destroy"/> </div> </div> </el-main> @@ -59,14 +60,22 @@ computed: { liveStyle() { + let style = {width: '100%', height: '100%'} switch (this.spilt) { case 4: - return {width: '49%', height: '49%'} + style = {width: '49%', height: '49%'} + break case 9: - return {width: '32%', height: '32%'} - default: - return {width: '100%', height: '100%'} + style = {width: '32%', height: '32%'} + break } + this.$nextTick(() => { + for (let i = 0; i < this.spilt; i++) { + const player = this.$refs.player + player && player[i] && player[i].updatePlayerDomSize() + } + }) + return style } }, watch: { @@ -98,20 +107,24 @@ console.log(idx); this.clear(idx.substring(idx.length - 1)) }, - clickEvent: function (data) { - if (data.channelId && data.subCount == 0) { - this.sendDevicePush(data) + clickEvent: function (device, data, isCatalog) { + if (data.channelId && !isCatalog) { + if (device.online === 0) { + this.$message.error('璁惧绂荤嚎!涓嶅厑璁哥偣鎾�'); + }else { + this.sendDevicePush(data) + } } }, - contextMenuEvent: function (data) { + contextMenuEvent: function (device, event, data, isCatalog) { }, //閫氱煡璁惧涓婁紶濯掍綋娴� sendDevicePush: function (itemData) { - if (itemData.status === 0) { - this.$message.error('璁惧绂荤嚎!'); - return - } + // if (itemData.status === 0) { + // this.$message.error('璁惧绂荤嚎!'); + // return + // } this.save(itemData) let deviceId = itemData.deviceId; // this.isLoging = true; @@ -124,12 +137,15 @@ method: 'get', url: '/api/play/start/' + deviceId + '/' + channelId }).then(function (res) { - // that.isLoging = false; - console.log('=====----=====') - console.log(res) - if (res.data.code == 0 && res.data.data) { - itemData.playUrl = res.data.data.httpsFlv - that.setPlayUrl(res.data.data.ws_flv, idxTmp) + if (res.data.code === 0 && res.data.data) { + let videoUrl; + if (location.protocol === "https:") { + videoUrl = res.data.data.wss_flv; + } else { + videoUrl = res.data.data.ws_flv; + } + itemData.playUrl = videoUrl; + that.setPlayUrl(videoUrl, idxTmp); } else { that.$message.error(res.data.msg); } -- Gitblit v1.8.0