GonetsDocs/Документация/API.md
2025-10-09 14:18:10 +05:00

4 KiB
Raw Blame History

API

Клиентская часть приложения взаимодействует с сервером через HTTPS-запросы и WebSocket-соединение. Большинство запросов могут выполняться с любого подключённого узла (например, https://192.168.1.147:8001/ip/check_ip), за исключением запроса /network/get_hostname, который ограничен локальным хостом (localhost:8001), так как возвращает hostname корневого устройства, с которого запущен клиент.

Все HTTPS-запросы реализованы в файле /src/api/request.ts. WebSocket-соединение для работы с сетевыми интерфейсами настроено в файле /src/components/workSpace/modules/workModules/networkInterfaces.tsx.

(По-хорошему настройку WebSocket подключения нужно будет переносить тоже в /src/api, так будет лучше, когда будет писаться больше модулей рабочего пространства)

Список API-запросов

  1. Проверка доступности IP-адреса
    • Эндпоинт: https://<host>:8001/ip/check_ip
    • Описание: Проверяет доступность указанного IP-адреса.
  2. Сохранение изменений IP-адреса
    • Эндпоинт: https://<host>:8001/ip/apply_ip
    • Описание: Применяет изменения конфигурации IP-адреса.
  3. Получение hostname корневого устройства
    • Эндпоинт: https://localhost:8001/network/get_hostname
    • Описание: Возвращает hostname устройства, с которого запущен клиент. Запрос ограничен локальным хостом.
  4. Регистрация пользователя
    • Эндпоинт: https://<host>:8001/auth/register
    • Описание: Создаёт нового пользователя (устанавливает пароль оператора).
  5. Авторизация пользователя
    • Эндпоинт: https://<host>:8001/auth/login
    • Описание: Выполняет вход пользователя, повышая его права до уровня оператора.
  6. Выход пользователя
    • Эндпоинт: https://<host>:8001/auth/logout
    • Описание: Выполняет выход пользователя, снижая его права.
  7. Проверка прав пользователя
    • Эндпоинт: https://<host>:8001/auth/me
    • Описание: Проверяет текущие права авторизованного пользователя.
  8. Проверка наличия пользователя
    • Эндпоинт: https://<host>:8001/auth/check_json
    • Описание: Проверяет, существует ли пользователь на устройстве.

WebSocket-соединение

  • Эндпоинт: wss://<host>:8001/api/v1
  • Описание: Устанавливает WebSocket-соединение для получения данных о сетевых интерфейсах в реальном времени. Реализовано в файле /src/components/workSpace/modules/workModules/networkInterfaces.tsx.

Замечания для разработки и тестирования

  • В режиме разработки (npm run dev) можно переключать протоколы с https на http и с wss на ws, если сервер настроен на поддержку HTTP-запросов.
  • Убедитесь, что сервер работает в соответствующем режиме (HTTP или HTTPS), чтобы избежать ошибок подключения.