类型:开发

描述:
This commit is contained in:
2025-12-19 20:16:43 +08:00
parent aa18dc7a4c
commit c392ce026d
4 changed files with 61 additions and 15 deletions

View File

@@ -262,8 +262,7 @@
isSkip.value = false isSkip.value = false
isBack.value = true isBack.value = true
let res = await getSpotListApi() let res = await getSpotListApi()
navLeft.value = res.data navLeft.value = res.data.slice(0,3)
current.value = res.data[0].id current.value = res.data[0].id
title.value = navLeft.value[0].name title.value = navLeft.value[0].name
pubSub.publish('scenicChange', navLeft.value[0]) pubSub.publish('scenicChange', navLeft.value[0])
@@ -307,7 +306,7 @@
scenicSpotId: '', scenicSpotId: '',
id:10086, id:10086,
}, },
...spotRes.data ...spotRes.data.slice(0,3)
] ]
if(monitorDefaultData.value){ if(monitorDefaultData.value){
current.value = monitorDefaultData.value.id current.value = monitorDefaultData.value.id

View File

@@ -287,7 +287,12 @@
// 返回列表 // 返回列表
const handleBack = () => { const handleBack = () => {
videoLog.value = 1 videoLog.value = 1
hlsRef.destroy() try{
hlsRef.destroy()
}catch (e) {
}
initVideo() initVideo()
} }
let isCollect = ref(0) let isCollect = ref(0)
@@ -308,7 +313,12 @@
const clearHlsRefs = () => { const clearHlsRefs = () => {
if (hlsRefs.length > 0) { if (hlsRefs.length > 0) {
hlsRefs.map((item) => { hlsRefs.map((item) => {
item.destroy() try{
item.destroy()
}catch (e) {
}
}) })
hlsRefs = [] hlsRefs = []
} }
@@ -337,8 +347,13 @@
player.play() player.play()
// 错误处理和重连机制 // 错误处理和重连机制
player.on(mpegtsjs.Events.ERROR, (err) => { player.on(mpegtsjs.Events.ERROR, (err) => {
player.unload(); try{
player.destroy(); player.unload();
player.destroy();
}catch (e) {
}
console.error('播放器错误:', err) console.error('播放器错误:', err)
// 3 秒后尝试重新加载 // 3 秒后尝试重新加载
setTimeout(() => { setTimeout(() => {

View File

@@ -293,7 +293,11 @@ const onInput = debounce((e) => {
const clearHlsRefs = () => { const clearHlsRefs = () => {
if (hlsRefs.length > 0) { if (hlsRefs.length > 0) {
hlsRefs.map((item) => { hlsRefs.map((item) => {
item.destroy() try{
item.destroy()
}catch (e) {
}
}) })
hlsRefs = [] hlsRefs = []
} }
@@ -339,7 +343,12 @@ const handleNav = (e) => {
} }
const handleBack = () => { const handleBack = () => {
videoLog.value = 1 videoLog.value = 1
hlsRef.destroy() try{
hlsRef.destroy()
}catch (e) {
}
initVideo() initVideo()
} }
let thisVideo = ref(null) let thisVideo = ref(null)
@@ -367,8 +376,12 @@ const handleItemVideo = async (url, type, code, item) => {
hlsRef.on('error', (err) => { hlsRef.on('error', (err) => {
console.error('播放器错误:', err) console.error('播放器错误:', err)
// 3 秒后尝试重新加载 // 3 秒后尝试重新加载
hlsRef.unload() try{
hlsRef.destroy() hlsRef.unload()
hlsRef.destroy()
}catch (e) {
}
// 3 秒后尝试重新加载 // 3 秒后尝试重新加载
setTimeout(() => { setTimeout(() => {
console.error('重新加载【'+cameraIndexCode+'】' ) console.error('重新加载【'+cameraIndexCode+'】' )
@@ -502,8 +515,13 @@ const createPlayer = (cameraIndexCode,videoElement) => {
// 错误处理和重连机制 // 错误处理和重连机制
player.on(mpegtsjs.Events.ERROR, (err) => { player.on(mpegtsjs.Events.ERROR, (err) => {
console.error('播放器错误【'+cameraIndexCode+'】:', err) console.error('播放器错误【'+cameraIndexCode+'】:', err)
player.unload(); try{
player.destroy(); player.unload();
player.destroy();
}catch (e) {
}
// 3 秒后尝试重新加载 // 3 秒后尝试重新加载
setTimeout(() => { setTimeout(() => {
console.error('重新加载【'+cameraIndexCode+'】' ) console.error('重新加载【'+cameraIndexCode+'】' )

View File

@@ -6,7 +6,7 @@
{{props.type=='deal'?'暂无数据':'暂无异常情况'}} {{props.type=='deal'?'暂无数据':'暂无异常情况'}}
</div> </div>
<div v-else> <div v-else>
<ul class="list" > <ul class="list">
<li <li
class="item" class="item"
:style="{ backgroundImage: `url(${primary})` }" :style="{ backgroundImage: `url(${primary})` }"
@@ -231,7 +231,21 @@
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
align-content: flex-start; align-content: flex-start;
padding:vw(10); padding:vw(10);
overflow: auto;
/* 滚动条整体样式 */
&::-webkit-scrollbar {
height: vh(4); /* 滚动条的宽度 */
}
/* 滚动条轨道 */
&::-webkit-scrollbar-track {
background: 'transparent'; /* 轨道的背景色 */
}
/* 滚动条滑块 */
&::-webkit-scrollbar-thumb {
background: rgba(0, 150, 255, 0.63); /* 滑块的背景色 */
border-radius: 5px; /* 滑块的圆角 */
}
.item { .item {
position: relative; position: relative;
width: 33%; width: 33%;