feat 优化

This commit is contained in:
Ironsp
2026-07-22 14:26:34 +08:00
parent b638e7eaa0
commit ef01ef8394
2 changed files with 10 additions and 9 deletions

View File

@@ -189,7 +189,7 @@ watch(
(newNotices) => {
const filteredNotices = [...newNotices].map(parseNoticeItem);
newsList.value = filteredNotices;
console.log('监听消息队列', newsList.value);
// console.log('监听消息队列', newsList.value);
},
{ deep: true }
);

View File

@@ -122,22 +122,23 @@ export const initHls = (monitorVideoUrl, monitorVideoRef, isDialogVisible?: () =
switch (data.type) {
case Hls.ErrorTypes.NETWORK_ERROR:
if (data.details === 'manifestLoadError' || data.details === 'manifestLoadTimeOut') {
console.error('网络错误');
//console.error('网络错误');
ElMessage.error('网络错误,请检查网络连接');
// if (onStall) {
// onStall();
// }
hls.startLoad();
} else {
console.warn('[HLS] 网络错误,自动恢复...');
ElMessage.error('[HLS] 网络错误,自动恢复...');
hls.startLoad();
}
break;
case Hls.ErrorTypes.MEDIA_ERROR:
console.warn('[HLS] 媒体解码错误,尝试恢复...');
ElMessage.error('[HLS] 媒体解码错误,尝试恢复...');
hls.recoverMediaError();
break;
default:
console.error('[HLS] 不可恢复的错误,销毁实例');
ElMessage.error('[HLS] 不可恢复的错误,销毁实例');
state.destroyed = true;
stopLiveSync(state);
hls.destroy();
@@ -152,18 +153,18 @@ export const initHls = (monitorVideoUrl, monitorVideoRef, isDialogVisible?: () =
case Hls.ErrorTypes.NETWORK_ERROR:
// 分片加载失败等 → 重新加载
if (data.details === 'fragLoadError' || data.details === 'fragLoadTimeOut') {
console.warn(`[HLS] 分片加载问题 (${data.details}),第 ${state.consecutiveFailures} 次失败,尝试恢复...`);
ElMessage.error(`[HLS] 分片加载问题 (${data.details}),第 ${state.consecutiveFailures} 次失败,尝试恢复...`);
hls.startLoad(hls.currentLevel);
}
break;
case Hls.ErrorTypes.MEDIA_ERROR:
if (data.details === 'bufferAppendError' || data.details === 'bufferFullError') {
console.warn(`[HLS] 缓冲区问题 (${data.details}),尝试恢复...`);
ElMessage.error(`[HLS] 缓冲区问题 (${data.details}),尝试恢复...`);
hls.recoverMediaError();
}
break;
default:
console.warn(`[HLS] 非致命错误: ${data.type} - ${data.details}`);
ElMessage.error(`[HLS] 非致命错误: ${data.type} - ${data.details}`);
break;
}
}
@@ -176,7 +177,7 @@ export const initHls = (monitorVideoUrl, monitorVideoRef, isDialogVisible?: () =
state.stallTimer = setInterval(() => {
if (state.destroyed || !onStall) return;
if (state.consecutiveFailures >= 3) {
console.warn(`[HLS] 连续 ${state.consecutiveFailures} 次加载失败,触发自动刷新`);
ElMessage.error(`[HLS] 连续 ${state.consecutiveFailures} 次加载失败,触发自动刷新`);
state.consecutiveFailures = 0;
onStall();
}