From c1bc45fe8fc898b451b52d4f9dd2fc7d01e94878 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 06 十一月 2023 15:13:58 +0800
Subject: [PATCH] 修复点播接口状态判断错误
---
web_src/src/components/live.vue | 95 +++++++++++++++++++----------------------------
1 files changed, 39 insertions(+), 56 deletions(-)
diff --git a/web_src/src/components/live.vue b/web_src/src/components/live.vue
old mode 100644
new mode 100755
index d23f4e6..4a7af49
--- a/web_src/src/components/live.vue
+++ b/web_src/src/components/live.vue
@@ -15,10 +15,10 @@
<div style="width: 99%;height: 85vh;display: flex;flex-wrap: wrap;background-color: #000;">
<div v-for="i in spilt" :key="i" class="play-box"
:style="liveStyle" :class="{redborder:playerIdx == (i-1)}"
- @click="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>
@@ -39,30 +39,15 @@
},
data() {
return {
- showVideoDialog: true,
- hasAudio: false,
videoUrl: [''],
spilt: 1,//鍒嗗睆
playerIdx: 0,//婵�娲绘挱鏀惧櫒
- deviceList: [], //璁惧鍒楄〃
- currentDevice: {}, //褰撳墠鎿嶄綔璁惧瀵硅薄
-
- videoComponentList: [],
updateLooper: 0, //鏁版嵁鍒锋柊杞鏍囧織
- currentDeviceChannelsLenth: 0,
- winHeight: window.innerHeight - 200,
- currentPage: 1,
count: 15,
total: 0,
- getDeviceListLoading: false,
//channel
- searchSrt: "",
- channelType: "",
- online: "",
- channelTotal: 0,
- deviceChannelList: [],
loading: false
};
},
@@ -75,13 +60,22 @@
computed: {
liveStyle() {
- if (this.spilt == 1) {
- return {width: '100%', height: '100%'}
- } else if (this.spilt == 4) {
- return {width: '49%', height: '49%'}
- } else if (this.spilt == 9) {
- return {width: '32%', height: '32%'}
+ let style = {width: '100%', height: '100%'}
+ switch (this.spilt) {
+ case 4:
+ style = {width: '49%', height: '49%'}
+ break
+ case 9:
+ 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: {
@@ -113,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;
@@ -139,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);
}
@@ -166,13 +167,6 @@
if (deviceId && channelId) {
this.sendDevicePush({deviceId, channelId})
}
- },
- convertImageToCanvas(image) {
- var canvas = document.createElement("canvas");
- canvas.width = image.width;
- canvas.height = image.height;
- canvas.getContext("2d").drawImage(image, 0, 0);
- return canvas;
},
shot(e) {
// console.log(e)
@@ -211,17 +205,6 @@
console.log(data);
window.localStorage.setItem('playData', JSON.stringify(data))
},
- loadAndPlay() {
- let dataStr = window.localStorage.getItem('playData') || '[]'
- let data = JSON.parse(dataStr);
-
- data.forEach((item, i) => {
- if (item) {
- this.playerIdx = i
- this.sendDevicePush(item)
- }
- })
- }
}
};
</script>
--
Gitblit v1.8.0