Архитектура веб-интерфейса и стек технологий
В бинарный файл RUSEON Core встроен веб-интерфейс (Single Page Application, SPA) с помощью директивы go:embed. Он доступен в браузере по адресу http://localhost:8080/ без необходимости установки сторонних веб-серверов.
1. Стек технологий веб-интерфейса
- Фреймворк: React 19, TypeScript и сборщик Vite для мгновенного рендеринга.
- Дизайн: Тёмная тема с элементами Glassmorphism (эффект матового стекла), адаптивная сетка CSS Grid.
- Иконки:
lucide-react. - Локализация: Полная поддержка переключения языков (
react-i18next) на английский (en) и русский (ru). - Видеоплееры:
- Live просмотр: Сверхнизкая задержка WebRTC WHEP через нативный
RTCPeerConnectionс автоматическим переключением на HLS (hls.js). - AI-оверлей: Синхронизированная отрисовка рамок детекций на HTML5 Canvas (60 кадров/сек) из WebRTC DataChannels.
- Плеер архива: Детализированный таймлайн с подсветкой записанных интервалов и выгрузкой фрагментов в MP4.
- Live просмотр: Сверхнизкая задержка WebRTC WHEP через нативный
2. Разделы руководства по веб-интерфейсу
| Раздел / Модуль | Возможности | Руководство |
|---|---|---|
| Дашборд и сетка камер | Мультиэкранные сетки (1x1, 2x2, 3x3, 4x4), дерево папок, теги | Дашборд |
| Плеер прямого эфира | WebRTC с задержкой < 500мс, PTZ управление, оверлей AI | Live Плеер |
| Плеер архива и таймлайн | Навигация по шкале времени, календарь, экспорт MP4 | Архивный плеер |
| Управление камерами | Добавление, редактирование, тестирование RTSP, папки | Камеры |
| Настройки и диагностика | Графики памяти, живые логи SSE, снапшоты BadgerDB | Настройки |
| Авторизация и вход | Вход по JWT, сохранение сессии, смена пароля | Авторизация |