44 lines
4 KiB
Markdown
44 lines
4 KiB
Markdown
|
|
# 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), чтобы избежать ошибок подключения.
|