main funcions fixes

This commit is contained in:
2025-09-29 22:06:11 +09:00
parent 40e016e128
commit c8c3274527
7995 changed files with 1517998 additions and 1057 deletions

185
desktop-operator/README.md Normal file
View File

@@ -0,0 +1,185 @@
# GodEye Operator Console
Десктопное приложение для операторов системы видеонаблюдения GodEye. Приложение позволяет операторам подключаться к Android устройствам, получать видеопоток с камер и управлять съемкой.
## 🚀 Новые функции (v2.0)
### ✨ Улучшенный пользовательский интерфейс
- **Автосохранение настроек** - все настройки сохраняются автоматически
- **Автоподключение** - возможность автоматически подключаться к серверу при запуске
- **Мониторинг ping** - отображение задержки соединения в реальном времени
- **Статус индикаторы** - улучшенные индикаторы состояния подключения
### 📸 Расширенные возможности видео
- **Скриншоты** - сохранение кадров из видеопотока (`Ctrl+S`)
- **Полноэкранный режим** - просмотр видео в полный экран (`Ctrl+F`)
- **Увеличение видео** - масштабирование с возможностью перетаскивания
- **Picture-in-Picture** - режим "картинка в картинке" для многозадачности
### ⚙️ Улучшенные настройки
- **Persistent конфигурация** - сохранение размеров окна, настроек фильтров
- **Горячие клавиши** - быстрый доступ к основным функциям
- **Улучшенная запись** - автосохранение записей с метаданными
## <20> Технические характеристики
- **Electron**: v38.2.0 (последняя LTS версия)
- **Socket.IO**: v4.8.1 - для связи с backend сервером
- **UUID**: v11.0.3 - генерация уникальных идентификаторов
- **WebRTC** - для получения видеопотока
- **Node.js** - основная среда выполнения
## <20> Пошаговая инструкция: подключение к камере смартфона
1. **Запустите backend сервер**
- Откройте терминал и перейдите в папку `backend`
- Выполните команду: `node src/server.js`
- Убедитесь, что сервер работает на порту 3001
2. **Запустите Android клиент**
- Установите приложение GodEye Android Client на смартфон
- Запустите приложение и убедитесь, что оно подключено к серверу
3. **Запустите десктопное приложение оператора**
- Перейдите в папку `desktop-operator`
- Выполните команду: `npm install` (только при первом запуске)
- Запустите приложение: `npm run dev`
4. **Подключитесь к серверу**
- Введите URL сервера (по умолчанию: `http://localhost:3001`)
- Нажмите кнопку **"Подключиться"**
- Дождитесь появления списка доступных устройств
- При необходимости нажмите кнопку **"Обновить"** для обновления списка
5. **Выберите устройство**
- В списке устройств выберите нужный смартфон
6. **Запросите доступ к камере**
- Выберите тип камеры: Основная, Фронтальная, Широкоугольная, Телеобъектив
- Нажмите соответствующую кнопку
- Дождитесь подтверждения и появления видеопотока
7. **Управляйте видеопотоком**
- Используйте элементы управления для обработки изображения, записи, скриншотов и других функций
- Все действия отображаются в журнале событий
8. **Завершите сессию**
- Нажмите "Отключиться" для завершения работы
**Примечание:**
- Для стабильной работы убедитесь, что смартфон и ПК находятся в одной сети или сервер доступен из интернета.
- В случае проблем используйте журнал событий для диагностики.
### Установка зависимостей
```bash
npm install
```
### Режим разработки
```bash
npm run dev
```
### Сборка приложения
```bash
npm run build
```
### Создание дистрибутива
```bash
npm run dist
```
## ⌨️ Горячие клавиши
- `Ctrl+S` - Сделать скриншот
- `Ctrl+F` - Переключить полноэкранный режим
- `Ctrl+R` - Начать/остановить запись
- `Escape` - Выйти из полноэкранного режима
## 📁 Структура проекта
```
desktop-operator/
├── src/
│ ├── main.js # Основной процесс Electron
│ ├── config.js # Менеджер конфигурации
│ └── renderer/ # Интерфейс приложения
│ ├── index.html # HTML структура
│ ├── app.js # Логика приложения
│ └── styles.css # Стили интерфейса
├── assets/ # Ресурсы (иконки, изображения)
├── package.json # Конфигурация проекта
└── README.md # Документация
```
## 🔧 Конфигурация
Приложение автоматически создает файл конфигурации в:
- **Windows**: `%APPDATA%/godeye-operator/config.json`
- **macOS**: `~/Library/Application Support/godeye-operator/config.json`
- **Linux**: `~/.config/godeye-operator/config.json`
### Параметры конфигурации:
```json
{
"server": {
"url": "http://localhost:3001",
"autoConnect": false,
"reconnectAttempts": 3,
"reconnectInterval": 5000
},
"ui": {
"theme": "dark",
"language": "ru",
"windowBounds": { "width": 1400, "height": 900 },
"videoFilters": {
"brightness": 0,
"contrast": 0,
"saturation": 0,
"monochrome": false,
"edgeDetection": false
}
},
"recording": {
"quality": "high",
"format": "webm",
"maxDuration": 3600000,
"autoSave": true
}
}
```
## 🌐 Интеграция с Backend
Приложение работает с backend сервером через WebSocket соединения:
- **Регистрация оператора** - `register:operator`
- **Список устройств** - `devices:list`
- **Запрос камеры** - `camera:request`
- **WebRTC сигналинг** - `webrtc:offer/answer/ice-candidate`
## 📋 Системные требования
- **ОС**: Windows 10+, macOS 10.15+, Ubuntu 18.04+
- **RAM**: 4 GB (рекомендуется 8 GB)
- **Дисковое пространство**: 200 MB
- **Сеть**: Стабильное интернет-соединение для WebRTC
## 🐛 Отладка
Для запуска в режиме отладки:
```bash
npm run dev
```
Это откроет DevTools для диагностики проблем.
## 📝 Лицензия
MIT License - см. файл LICENSE для деталей.
---
**GodEye Team** | Система видеонаблюдения следующего поколения