ESP32: зафиксировать рабочий LVGL nav prototype и тесты

This commit is contained in:
AidarKC
2026-06-08 18:39:11 +04:00
parent a8734846a0
commit 32606fe1c2
12 changed files with 4533 additions and 3 deletions
@@ -0,0 +1,123 @@
# SHiNE ESP32 Subserver UI Nav Minimal Spec
Минимальный навигационный прототип для `Waveshare ESP32-S3-Touch-AMOLED-2.16`.
## Цель
Этот прототип проверяет только базовую механику экранов, крупных кнопок и свайпов.
На этом этапе отсутствуют:
- реальный Wi-Fi;
- реальные серверные проверки;
- логин/пароль;
- PIN;
- кошелёк;
- QR;
- баланс;
- регистрация;
- PDA и транзакции;
- входящие запросы.
## Экраны
Прототип содержит 5 экранов:
- `HOME`
- `SETTINGS_MENU`
- `WIFI_SCREEN`
- `SERVER_SCREEN`
- `ACCOUNT_SCREEN`
## HOME
Показывает:
- сверху слева `login`;
- ниже `subserver1`;
- сверху справа простые индикаторы `W BAT`;
- по центру крупный текст `STATUS`;
- снизу большую кнопку `SETTINGS`.
Переходы:
- кнопка `SETTINGS` -> `SETTINGS_MENU`;
- свайп влево -> `SETTINGS_MENU`.
## SETTINGS_MENU
Показывает вертикальное меню из 3 пунктов:
- `Wi-Fi`
- `Server`
- `Account`
Одновременно видны только 2 пункта.
Начальное состояние:
- `Wi-Fi`
- `Server`
После свайпа вверх:
- `Server`
- `Account`
После свайпа вниз:
- `Wi-Fi`
- `Server`
Переходы:
- нажатие `Wi-Fi` -> `WIFI_SCREEN`;
- нажатие `Server` -> `SERVER_SCREEN`;
- нажатие `Account` -> `ACCOUNT_SCREEN`;
- свайп вправо -> `HOME`.
## WIFI_SCREEN
Показывает:
- `Wi-Fi`
- `Wi-Fi screen`
Переходы:
- свайп вправо -> `SETTINGS_MENU`
- кнопка `BACK` -> `SETTINGS_MENU`
## SERVER_SCREEN
Показывает:
- `Server`
- `Server screen`
Переходы:
- свайп вправо -> `SETTINGS_MENU`
- кнопка `BACK` -> `SETTINGS_MENU`
## ACCOUNT_SCREEN
Показывает:
- `Account`
- `Account screen`
Переходы:
- свайп вправо -> `SETTINGS_MENU`
- кнопка `BACK` -> `SETTINGS_MENU`
## Жесты
Поддерживаются направления:
- `SWIPE_LEFT`
- `SWIPE_RIGHT`
- `SWIPE_UP`
- `SWIPE_DOWN`
Маршруты:
- `HOME`: свайп влево -> `SETTINGS_MENU`
- `SETTINGS_MENU`: свайп вправо -> `HOME`
- `SETTINGS_MENU`: свайп вверх/вниз -> прокрутка списка
- `WIFI_SCREEN`: свайп вправо -> `SETTINGS_MENU`
- `SERVER_SCREEN`: свайп вправо -> `SETTINGS_MENU`
- `ACCOUNT_SCREEN`: свайп вправо -> `SETTINGS_MENU`
## Особенность обработки жестов
- если палец ушёл из зоны обычного тапа и жест определяется как свайп, случайное попадание на кнопку по пути не должно превращать свайп в нажатие;
- приоритет у свайпа, а не у `click`.
## Язык
Пока интерфейс отображается в ASCII/English, чтобы использовать подтверждённый рабочий шрифтовой путь на устройстве.