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
#include <WebServer.h>
#include <WiFi.h>
#include "../src/wifi_manager.h"

См. исходные тексты.

Функции

void setupMainRoutes ()
 Настройка основных маршрутов (/, /save, /status)
 
void handleRoot ()
 Обработчик главной страницы (уже существует в wifi_manager.cpp)
 
void handleStatus ()
 Обработчик статуса (уже существует в wifi_manager.cpp)
 
void setupDataRoutes ()
 Настройка маршрутов данных датчика (/readings, /sensor_json, /api/sensor)
 
void setupConfigRoutes ()
 Настройка маршрутов конфигурации (/intervals, /config_manager, /api/config/*)
 
void setupServiceRoutes ()
 Настройка сервисных маршрутов (/health, /service_status, /reset, /reboot, /ota)
 
String generatePageHeader (const String &title, const String &icon="")
 Генерация заголовка HTML страницы
 
String generatePageFooter ()
 Генерация футера HTML страницы
 
String generateErrorPage (int errorCode, const String &errorMessage)
 Генерация страницы ошибки
 
String generateSuccessPage (const String &title, const String &message, const String &redirectUrl="", int redirectDelay=2)
 Генерация страницы успеха
 
String generateBasePage (const String &title, const String &content, const String &icon="")
 Генерация базовой HTML структуры с навигацией
 
void setupErrorHandlers ()
 Настройка обработчиков ошибок (404, 500, и т.
 
bool validateConfigInput (bool checkRequired=true)
 Валидация входных данных конфигурации
 
void handleUploadError (const String &error)
 Обработка ошибок загрузки файлов
 
bool isFeatureAvailable (const String &feature)
 Проверка доступности функции в текущем режиме WiFi.
 
bool isFeatureAvailable ()
 Проверка доступности функции в текущем режиме WiFi (без параметров)
 
void logWebRequest (const String &method, const String &uri, const String &clientIP)
 Логирование веб-запросов
 
String generateForm (const String &action, const String &method, const String &formContent, const String &buttonText, const String &buttonIcon)
 Генерация формы с общими элементами
 
String generateConfigSection (const String &title, const String &content, const String &helpText="")
 Генерация секции конфигурации
 
String generateInputField (const String &id, const String &name, const String &label, const String &value, const String &type="text", bool required=false, const String &placeholder="")
 Генерация поля ввода
 
String generateCheckboxField (const String &id, const String &name, const String &label, bool checked)
 Генерация поля чекбокса
 
String generateNumberField (const String &id, const String &name, const String &label, int value, int min, int max, int step=1)
 Генерация числового поля с валидацией
 
String generateFormError (const String &message)
 Генерация сообщения об ошибке в форме
 
String generateApModeUnavailablePage (const String &title, const String &icon)
 Генерация страницы "Недоступно в AP режиме".
 
String generateValidationErrorResponse (const String &errorMsg)
 Генерация HTML ответа с ошибкой валидации
 
void handleCriticalError (const String &error)
 Обработка критических ошибок сервера
 
bool isRouteAvailable (const String &uri)
 Проверка доступности маршрута в текущем режиме
 
bool checkRouteAccess (const String &routeName, const String &icon)
 Middleware для проверки доступности маршрута
 
void setupCalibrationRoutes ()
 Настройка маршрутов калибровки (/calibration)
 
String navHtml ()
 
void setupOtaRoutes ()
 Настройка маршрутов OTA (/updates, /api/ota/*, /ota/*)
 

Переменные

WebServer webServer
 

Функции

◆ checkRouteAccess()

bool checkRouteAccess ( const String & routeName,
const String & icon )

Middleware для проверки доступности маршрута

Middleware для проверки доступности маршрута

См. определение в файле error_handlers.cpp строка 215

Перекрестные ссылки generateApModeUnavailablePage(), isRouteAvailable() и webServer.

◆ generateApModeUnavailablePage()

String generateApModeUnavailablePage ( const String & title,
const String & icon )

Генерация страницы "Недоступно в AP режиме".

Аргументы
titleЗаголовок страницы
iconИконка страницы
Возвращает
Полная HTML страница

См. определение в файле web_templates.cpp строка 175

Перекрестные ссылки generateBasePage() и UI_ICON_ERROR.

Используется в checkRouteAccess(), setupConfigRoutes(), setupDataRoutes(), setupOtaRoutes() и setupServiceRoutes().

◆ generateBasePage()

String generateBasePage ( const String & title,
const String & content,
const String & icon = "" )

Генерация базовой HTML структуры с навигацией

Аргументы
titleЗаголовок страницы
contentСодержимое страницы
iconИконка страницы (опционально)
Возвращает
Полная HTML страница

См. определение в файле web_templates.cpp строка 24

Перекрестные ссылки generatePageFooter(), generatePageHeader() и navHtml().

Используется в generateApModeUnavailablePage(), generateErrorPage(), generateSuccessPage() и generateValidationErrorResponse().

◆ generateCheckboxField()

String generateCheckboxField ( const String & id,
const String & name,
const String & label,
bool checked )

Генерация поля чекбокса

Аргументы
idID элемента
nameИмя элемента
labelПодпись
checkedСостояние чекбокса
Возвращает
HTML чекбокс

См. определение в файле web_templates.cpp строка 127

◆ generateConfigSection()

String generateConfigSection ( const String & title,
const String & content,
const String & helpText )

Генерация секции конфигурации

Аргументы
titleЗаголовок секции
contentСодержимое секции
helpTextТекст подсказки (опционально)
Возвращает
HTML секция

См. определение в файле web_templates.cpp строка 83

Перекрестные ссылки UI_ICON_INFO.

◆ generateErrorPage()

String generateErrorPage ( int errorCode,
const String & errorMessage )

Генерация страницы ошибки

Аргументы
errorCodeКод ошибки
errorMessageСообщение об ошибке
Возвращает
Полная HTML страница с ошибкой

См. определение в файле web_templates.cpp строка 33

Перекрестные ссылки generateBasePage() и UI_ICON_ERROR.

Используется в handleCriticalError(), handleUploadError() и setupErrorHandlers().

◆ generateForm()

String generateForm ( const String & action,
const String & method,
const String & formContent,
const String & buttonText,
const String & buttonIcon )

Генерация формы с общими элементами

Аргументы
actionURL для отправки формы
methodHTTP метод (GET/POST)
formContentСодержимое формы
buttonTextТекст кнопки отправки
buttonIconИконка кнопки
Возвращает
HTML форма

См. определение в файле web_templates.cpp строка 66

Перекрестные ссылки generateButton() и PRIMARY.

◆ generateFormError()

String generateFormError ( const String & message)

Генерация сообщения об ошибке в форме

Аргументы
messageТекст сообщения
Возвращает
HTML блок с ошибкой

См. определение в файле web_templates.cpp строка 164

Перекрестные ссылки UI_ICON_ERROR.

Используется в generateValidationErrorResponse().

◆ generateInputField()

String generateInputField ( const String & id,
const String & name,
const String & label,
const String & value,
const String & type,
bool required,
const String & placeholder )

Генерация поля ввода

Аргументы
idID элемента
nameИмя элемента
labelПодпись
valueЗначение по умолчанию
typeТип поля (text, password, email, number)
requiredОбязательно ли поле
placeholderPlaceholder текст
Возвращает
HTML поле ввода

См. определение в файле web_templates.cpp строка 107

◆ generateNumberField()

String generateNumberField ( const String & id,
const String & name,
const String & label,
int value,
int min,
int max,
int step )

Генерация числового поля с валидацией

Аргументы
idID элемента
nameИмя элемента
labelПодпись
valueЗначение по умолчанию
minМинимальное значение
maxМаксимальное значение
stepШаг изменения
Возвращает
HTML числовое поле

См. определение в файле web_templates.cpp строка 148

◆ generatePageFooter()

String generatePageFooter ( )

Генерация футера HTML страницы

Возвращает
HTML футер

См. определение в файле web_templates.cpp строка 19

Перекрестные ссылки getToastHTML().

Используется в generateBasePage(), generateCalibrationPage(), setupConfigRoutes(), setupDataRoutes(), setupOtaRoutes() и setupServiceRoutes().

◆ generatePageHeader()

String generatePageHeader ( const String & title,
const String & icon = "" )

Генерация заголовка HTML страницы

Аргументы
titleЗаголовок страницы
iconИконка страницы (опционально)
Возвращает
HTML заголовок

См. определение в файле web_templates.cpp строка 8

Перекрестные ссылки getUnifiedCSS().

Используется в generateBasePage(), generateCalibrationPage(), setupConfigRoutes(), setupDataRoutes(), setupOtaRoutes() и setupServiceRoutes().

◆ generateSuccessPage()

String generateSuccessPage ( const String & title,
const String & message,
const String & redirectUrl = "",
int redirectDelay = 2 )

Генерация страницы успеха

Аргументы
titleЗаголовок
messageСообщение об успехе
redirectUrlURL для перенаправления (опционально)
redirectDelayЗадержка перенаправления в секундах (по умолчанию 2)
Возвращает
Полная HTML страница с сообщением об успехе

См. определение в файле web_templates.cpp строка 42

Перекрестные ссылки generateBasePage() и UI_ICON_SUCCESS.

Используется в setupMainRoutes().

◆ generateValidationErrorResponse()

String generateValidationErrorResponse ( const String & errorMsg)

Генерация HTML ответа с ошибкой валидации

Аргументы
errorMsgСообщение об ошибке
Возвращает
HTML ответ с ошибкой

См. определение в файле error_handlers.cpp строка 172

Перекрестные ссылки generateBasePage(), generateFormError() и UI_ICON_CONFIG.

Используется в setupMainRoutes().

◆ handleCriticalError()

void handleCriticalError ( const String & error)

Обработка критических ошибок сервера

Аргументы
errorОписание ошибки

См. определение в файле error_handlers.cpp строка 188

Перекрестные ссылки generateErrorPage(), logError() и webServer.

◆ handleRoot()

void handleRoot ( )

Обработчик главной страницы (уже существует в wifi_manager.cpp)

См. определение в файле wifi_manager.cpp строка 394

Перекрестные ссылки config, currentWiFiMode, generateButton(), getToastHTML(), getUnifiedCSS(), navHtml(), PRIMARY, STA, UI_ICON_CONFIG, UI_ICON_SAVE и webServer.

Используется в setupMainRoutes().

◆ handleStatus()

void handleStatus ( )

Обработчик статуса (уже существует в wifi_manager.cpp)

См. определение в файле wifi_manager.cpp строка 343

Перекрестные ссылки AP, config, currentWiFiMode, DEVICE_SW_VERSION, getToastHTML(), getUnifiedCSS(), navHtml(), STA, UI_ICON_STATUS, webServer и wifiConnected.

Используется в setupMainRoutes().

◆ handleUploadError()

void handleUploadError ( const String & error)

Обработка ошибок загрузки файлов

Аргументы
errorОписание ошибки

См. определение в файле error_handlers.cpp строка 123

Перекрестные ссылки generateErrorPage(), logError() и webServer.

◆ isFeatureAvailable() [1/2]

bool isFeatureAvailable ( )

Проверка доступности функции в текущем режиме WiFi (без параметров)

Возвращает
true если функция доступна в текущем режиме

См. определение в файле error_handlers.cpp строка 147

Перекрестные ссылки isFeatureAvailable().

Используется в isFeatureAvailable().

◆ isFeatureAvailable() [2/2]

bool isFeatureAvailable ( const String & feature)

Проверка доступности функции в текущем режиме WiFi.

Аргументы
featureНазвание функции для проверки
Возвращает
true если функция доступна в текущем режиме

См. определение в файле error_handlers.cpp строка 131

Перекрестные ссылки AP и currentWiFiMode.

◆ isRouteAvailable()

bool isRouteAvailable ( const String & uri)

Проверка доступности маршрута в текущем режиме

Аргументы
uriURI запроса
Возвращает
true если маршрут доступен

См. определение в файле error_handlers.cpp строка 201

Перекрестные ссылки AP и currentWiFiMode.

Используется в checkRouteAccess().

◆ logWebRequest()

void logWebRequest ( const String & method,
const String & uri,
const String & clientIP )

Логирование веб-запросов

Аргументы
methodHTTP метод
uriURI запроса
clientIPIP клиента

См. определение в файле error_handlers.cpp строка 152

Перекрестные ссылки API_SENSOR, logDebug() и logInfo().

Используется в sendConfigExportJson(), sendHealthJson(), sendSensorJson(), sendServiceStatusJson(), setupConfigRoutes(), setupDataRoutes(), setupErrorHandlers(), setupMainRoutes(), setupOtaRoutes() и setupServiceRoutes().

◆ navHtml()

String navHtml ( )

См. определение в файле wifi_manager.cpp строка 82

Используется в handleRoot() и handleStatus().

◆ setupCalibrationRoutes()

void setupCalibrationRoutes ( )

Настройка маршрутов калибровки (/calibration)

См. определение в файле routes_calibration.cpp строка 126

Перекрестные ссылки handleCalibrationPage(), handleCalibrationUpload(), CalibrationManager::init(), logInfo() и webServer.

◆ setupConfigRoutes()

◆ setupDataRoutes()

void setupDataRoutes ( )

Настройка маршрутов данных датчика (/readings, /sensor_json, /api/sensor)

См. определение в файле routes_data.cpp строка 274

Перекрестные ссылки AP, API_SENSOR, config, currentWiFiMode, CalibrationManager::deleteTable(), generateApModeUnavailablePage(), generateButton(), generatePageFooter(), generatePageHeader(), handleProfileSave(), handleReadingsUpload(), CalibrationManager::hasTable(), CalibrationManager::init(), logDebug(), logWebRequest(), navHtml(), PRIMARY, SAND, SECONDARY, sendSensorJson(), UI_ICON_DATA, UI_ICON_UPLOAD и webServer.

Используется в setupWebServer().

◆ setupErrorHandlers()

void setupErrorHandlers ( )

Настройка обработчиков ошибок (404, 500, и т.

д.)

См. определение в файле error_handlers.cpp строка 8

Перекрестные ссылки generateErrorPage(), logWarn(), logWebRequest() и webServer.

Используется в setupWebServer().

◆ setupMainRoutes()

void setupMainRoutes ( )

Настройка основных маршрутов (/, /save, /status)

См. определение в файле routes_main.cpp строка 7

Перекрестные ссылки AP, config, currentWiFiMode, generateSuccessPage(), generateValidationErrorResponse(), handleRoot(), handleStatus(), logDebug(), logInfo(), logSuccess(), logWebRequest(), saveConfig(), STA, validateConfigInput() и webServer.

Используется в setupWebServer().

◆ setupOtaRoutes()

void setupOtaRoutes ( )

Настройка маршрутов OTA (/updates, /api/ota/*, /ota/*)

См. определение в файле routes_ota.cpp строка 27

Перекрестные ссылки AP, currentWiFiMode, generateApModeUnavailablePage(), generateButton(), generatePageFooter(), generatePageHeader(), handleFirmwareUpload(), JXCT_VERSION_STRING, logDebug(), logSuccess(), logWebRequest(), navHtml(), OUTLINE, SECONDARY, sendOtaStatusJson(), STA, triggerOtaCheck(), triggerOtaInstall() и webServer.

Используется в setupWebServer().

◆ setupServiceRoutes()

void setupServiceRoutes ( )

Настройка сервисных маршрутов (/health, /service_status, /reset, /reboot, /ota)

См. определение в файле routes_service.cpp строка 40

Перекрестные ссылки AP, API_SYSTEM_HEALTH, API_SYSTEM_REBOOT, API_SYSTEM_RESET, API_SYSTEM_STATUS, config, currentWiFiMode, DANGER, DEVICE_MANUFACTURER, DEVICE_MODEL, FIRMWARE_VERSION, generateApModeUnavailablePage(), generateButton(), generatePageFooter(), generatePageHeader(), logDebug(), logSuccess(), logWebRequest(), navHtml(), resetConfig(), SECONDARY, sendHealthJson(), sendServiceStatusJson(), STA, UI_ICON_RESET, UI_ICON_SERVICE и webServer.

Используется в setupWebServer().

◆ validateConfigInput()

bool validateConfigInput ( bool checkRequired = true)

Валидация входных данных конфигурации

Аргументы
checkRequiredПроверять ли обязательные поля
Возвращает
true если валидация прошла успешно

См. определение в файле error_handlers.cpp строка 30

Перекрестные ссылки currentWiFiMode, logDebug(), logWarn(), STA и webServer.

Используется в setupMainRoutes().

Переменные

◆ webServer

WebServer webServer
extern