SHA256
ESP32: зафиксировать рабочий LVGL nav prototype и тесты
This commit is contained in:
+123
@@ -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, чтобы использовать подтверждённый рабочий шрифтовой путь на устройстве.
|
||||
Reference in New Issue
Block a user