JXCT Soil Sensor 7-in-1 v3.4.9 (June 2025)
Professional IoT soil monitoring system with ESP32, Modbus RTU, MQTT, and advanced compensation algorithms
Загрузка...
Поиск...
Не найдено
web_routes.h
См. документацию.
1#pragma once
2
3#include <WebServer.h>
4#include <WiFi.h>
6
7// Внешние зависимости
8extern WebServer webServer;
9
10// ============================================================================
11// ОСНОВНЫЕ МАРШРУТЫ (routes_main.cpp)
12// ============================================================================
13
17void setupMainRoutes();
18
22void handleRoot();
23
27void handleStatus();
28
29// ============================================================================
30// ДАННЫЕ ДАТЧИКА (routes_data.cpp)
31// ============================================================================
32
36void setupDataRoutes();
37
38// Все обработчики данных реализованы как lambda-функции внутри setupDataRoutes()
39
40// ============================================================================
41// УПРАВЛЕНИЕ КОНФИГУРАЦИЕЙ (routes_config.cpp)
42// ============================================================================
43
48
49// Все обработчики конфигурации реализованы как lambda-функции внутри setupConfigRoutes()
50
51// ============================================================================
52// СЕРВИСНЫЕ ФУНКЦИИ (routes_service.cpp)
53// ============================================================================
54
59
60// Все сервисные обработчики реализованы как lambda-функции внутри setupServiceRoutes()
61
62// ============================================================================
63// HTML ШАБЛОНЫ (web_templates.cpp)
64// ============================================================================
65
72String generatePageHeader(const String& title, const String& icon = "");
73
78String generatePageFooter();
79
86String generateErrorPage(int errorCode, const String& errorMessage);
87
96String generateSuccessPage(const String& title, const String& message, const String& redirectUrl = "",
97 int redirectDelay = 2);
98
106String generateBasePage(const String& title, const String& content, const String& icon = "");
107
108// ============================================================================
109// ОБРАБОТКА ОШИБОК (error_handlers.cpp)
110// ============================================================================
111
115void setupErrorHandlers();
116
122bool validateConfigInput(bool checkRequired = true);
123
128void handleUploadError(const String& error);
129
130// ============================================================================
131// УТИЛИТЫ
132// ============================================================================
133
139bool isFeatureAvailable(const String& feature);
140
145bool isFeatureAvailable();
146
153void logWebRequest(const String& method, const String& uri, const String& clientIP);
154
155// ============================================================================
156// ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ ШАБЛОНОВ
157// ============================================================================
158
162String generateForm(const String& action, const String& method, const String& formContent, const String& buttonText,
163 const String& buttonIcon);
164
168String generateConfigSection(const String& title, const String& content, const String& helpText = "");
169
173String generateInputField(const String& id, const String& name, const String& label, const String& value,
174 const String& type = "text", bool required = false, const String& placeholder = "");
175
179String generateCheckboxField(const String& id, const String& name, const String& label, bool checked);
180
184String generateNumberField(const String& id, const String& name, const String& label, int value, int min, int max,
185 int step = 1);
186
190String generateFormError(const String& message);
191
195String generateApModeUnavailablePage(const String& title, const String& icon);
196
197// ============================================================================
198// ДОПОЛНИТЕЛЬНЫЕ ФУНКЦИИ ОБРАБОТКИ ОШИБОК
199// ============================================================================
200
204String generateValidationErrorResponse(const String& errorMsg);
205
209void handleCriticalError(const String& error);
210
214bool isRouteAvailable(const String& uri);
215
219bool checkRouteAccess(const String& routeName, const String& icon);
220
221// ============================================================================
222// КАЛИБРОВКА ДАТЧИКОВ (routes_calibration.cpp)
223// ============================================================================
224
229
230// HTML навигация
231String navHtml();
232
233// ---------------------------------------------------------------------------
234// OTA МАРШРУТЫ (routes_ota.cpp)
235// ---------------------------------------------------------------------------
236
240void setupOtaRoutes();
WebServer webServer
String generateBasePage(const String &title, const String &content, const String &icon="")
Генерация базовой HTML структуры с навигацией
Определения web_templates.cpp:24
void setupConfigRoutes()
Настройка маршрутов конфигурации (/intervals, /config_manager, /api/config/*)
Определения routes_config.cpp:27
String generateErrorPage(int errorCode, const String &errorMessage)
Генерация страницы ошибки
Определения web_templates.cpp:33
bool isRouteAvailable(const String &uri)
Проверка доступности маршрута в текущем режиме
Определения error_handlers.cpp:201
void logWebRequest(const String &method, const String &uri, const String &clientIP)
Логирование веб-запросов
Определения error_handlers.cpp:152
String generateApModeUnavailablePage(const String &title, const String &icon)
Генерация страницы "Недоступно в AP режиме".
Определения web_templates.cpp:175
void handleStatus()
Обработчик статуса (уже существует в wifi_manager.cpp)
Определения wifi_manager.cpp:343
void handleCriticalError(const String &error)
Обработка критических ошибок сервера
Определения error_handlers.cpp:188
void setupServiceRoutes()
Настройка сервисных маршрутов (/health, /service_status, /reset, /reboot, /ota)
Определения routes_service.cpp:40
void setupMainRoutes()
Настройка основных маршрутов (/, /save, /status)
Определения routes_main.cpp:7
bool checkRouteAccess(const String &routeName, const String &icon)
Middleware для проверки доступности маршрута
Определения error_handlers.cpp:215
String generateConfigSection(const String &title, const String &content, const String &helpText="")
Генерация секции конфигурации
Определения web_templates.cpp:83
String generateValidationErrorResponse(const String &errorMsg)
Генерация HTML ответа с ошибкой валидации
Определения error_handlers.cpp:172
void handleUploadError(const String &error)
Обработка ошибок загрузки файлов
Определения error_handlers.cpp:123
void setupCalibrationRoutes()
Настройка маршрутов калибровки (/calibration)
Определения routes_calibration.cpp:126
void setupErrorHandlers()
Настройка обработчиков ошибок (404, 500, и т.
Определения error_handlers.cpp:8
void handleRoot()
Обработчик главной страницы (уже существует в wifi_manager.cpp)
Определения wifi_manager.cpp:394
String generateNumberField(const String &id, const String &name, const String &label, int value, int min, int max, int step=1)
Генерация числового поля с валидацией
Определения web_templates.cpp:148
String generateInputField(const String &id, const String &name, const String &label, const String &value, const String &type="text", bool required=false, const String &placeholder="")
Генерация поля ввода
Определения web_templates.cpp:107
String generateSuccessPage(const String &title, const String &message, const String &redirectUrl="", int redirectDelay=2)
Генерация страницы успеха
Определения web_templates.cpp:42
String generatePageHeader(const String &title, const String &icon="")
Генерация заголовка HTML страницы
Определения web_templates.cpp:8
String navHtml()
Определения wifi_manager.cpp:82
String generatePageFooter()
Генерация футера HTML страницы
Определения web_templates.cpp:19
String generateForm(const String &action, const String &method, const String &formContent, const String &buttonText, const String &buttonIcon)
Генерация формы с общими элементами
Определения web_templates.cpp:66
bool validateConfigInput(bool checkRequired=true)
Валидация входных данных конфигурации
Определения error_handlers.cpp:30
void setupOtaRoutes()
Настройка маршрутов OTA (/updates, /api/ota/*, /ota/*)
Определения routes_ota.cpp:27
String generateCheckboxField(const String &id, const String &name, const String &label, bool checked)
Генерация поля чекбокса
Определения web_templates.cpp:127
void setupDataRoutes()
Настройка маршрутов данных датчика (/readings, /sensor_json, /api/sensor)
Определения routes_data.cpp:274
bool isFeatureAvailable()
Проверка доступности функции в текущем режиме WiFi (без параметров)
Определения error_handlers.cpp:147
String generateFormError(const String &message)
Генерация сообщения об ошибке в форме
Определения web_templates.cpp:164