refactor: 优化配置管理和异常处理
- 添加YAML配置文件支持 - 改进camera_manager异常处理 - 添加类型提示和URL验证 - 完善依赖注入支持测试 - 新增健康检查API端点
This commit is contained in:
@@ -26,15 +26,16 @@ function refreshAllCameras() {
|
||||
}
|
||||
|
||||
function toggleFullscreen(cameraId) {
|
||||
const frame = document.getElementById(`frame-${cameraId}`);
|
||||
const cameraItem = document.getElementById(`camera-${cameraId}`);
|
||||
|
||||
if (!document.fullscreenElement) {
|
||||
if (frame.requestFullscreen) {
|
||||
frame.requestFullscreen();
|
||||
} else if (frame.webkitRequestFullscreen) {
|
||||
frame.webkitRequestFullscreen();
|
||||
} else if (frame.msRequestFullscreen) {
|
||||
frame.msRequestFullscreen();
|
||||
// 全屏相机容器而不是iframe
|
||||
if (cameraItem.requestFullscreen) {
|
||||
cameraItem.requestFullscreen();
|
||||
} else if (cameraItem.webkitRequestFullscreen) {
|
||||
cameraItem.webkitRequestFullscreen();
|
||||
} else if (cameraItem.msRequestFullscreen) {
|
||||
cameraItem.msRequestFullscreen();
|
||||
}
|
||||
} else {
|
||||
if (document.exitFullscreen) {
|
||||
@@ -47,6 +48,41 @@ function toggleFullscreen(cameraId) {
|
||||
}
|
||||
}
|
||||
|
||||
// 监听全屏变化事件
|
||||
document.addEventListener('fullscreenchange', handleFullscreenChange);
|
||||
document.addEventListener('webkitfullscreenchange', handleFullscreenChange);
|
||||
document.addEventListener('msfullscreenchange', handleFullscreenChange);
|
||||
|
||||
function handleFullscreenChange() {
|
||||
// 获取所有相机
|
||||
for (let i = 1; i <= 6; i++) {
|
||||
const fullscreenBtn = document.getElementById(`fullscreen-btn-${i}`);
|
||||
const exitFullscreenBtn = document.getElementById(`exit-fullscreen-btn-${i}`);
|
||||
|
||||
if (fullscreenBtn && exitFullscreenBtn) {
|
||||
if (document.fullscreenElement) {
|
||||
// 进入全屏时,隐藏全屏按钮,显示退出按钮
|
||||
fullscreenBtn.style.display = 'none';
|
||||
exitFullscreenBtn.style.display = 'inline-block';
|
||||
} else {
|
||||
// 退出全屏时,显示全屏按钮,隐藏退出按钮
|
||||
fullscreenBtn.style.display = 'inline-block';
|
||||
exitFullscreenBtn.style.display = 'none';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function exitFullscreen() {
|
||||
if (document.exitFullscreen) {
|
||||
document.exitFullscreen();
|
||||
} else if (document.webkitExitFullscreen) {
|
||||
document.webkitExitFullscreen();
|
||||
} else if (document.msExitFullscreen) {
|
||||
document.msExitFullscreen();
|
||||
}
|
||||
}
|
||||
|
||||
function switchCameraNumber(event, cameraId, cameraNumber) {
|
||||
const frame = document.getElementById(`frame-${cameraId}`);
|
||||
const controls = document.getElementById(`controls-${cameraId}`);
|
||||
|
||||
Reference in New Issue
Block a user