13 KiB
Dushanbe — экраны и дампы
Чек-лист экранных дампов для банка Dushanbe City Bank (appCode: dushanbe /
dushanbe_city_bank). Используется, когда выходит новая версия приложения и нужно
понять, какие экраны переснять.
Как пользоваться при выходе новой версии
- Завести папку
assets/dushanbe/<новая_версия>/(напримерassets/dushanbe/3.2.42/). - Пройти по чек-листу ниже и снять XML+скриншот каждого экрана на устройстве с новой версией. Дампы кладутся в новую папку под теми же именами.
- Сверить новый дамп с картинкой ниже (на ней — самый свежий из имеющихся дампов).
- Если вёрстка/тексты разошлись с парсером — обновить
android/dushanbe/ScreenXmlParser.cppи при необходимости завести новый трек вandroid/dushanbe/AppVersionTrack.h.
Версионирование
Парсер Dushanbe версионируется: android/dushanbe/AppVersionTrack.h, треки
Legacy (< 3.2.33) / V3_2_33 (3.2.33 .. < 3.2.38) / V3_2_38 (>= 3.2.38, по
умолчанию). Скрипты выставляют трек один раз: setVersionTrack(trackForVersion(app.appVersion)).
Новый трек добавляется только если вёрстка реально разошлась с V3_2_38 — иначе хватает
свежих эталонных дампов в assets/dushanbe/<версия>/.
Картинка под каждым экраном — самый свежий доступный дамп (приоритет
3.2.41 → 3.2.39 → 3.2.33 → корень assets/dushanbe/). Подпись «Текущий дамп»
показывает, из какой версии реально взята картинка. Если эталонного дампа ещё нет —
экран помечен ⚠️ и его надо снять в первую очередь.
1. Мастер установок (BankSetupWizard)
Цепочка: runPinCheck → runProfileCheck → runCardCheck (views/bank/BankSetupWizard.cpp).
1.1. Пин-код / вход (LoginAndCheckAccountsScript)
Экран запуска — launch_screen
Сплэш/загрузка приложения сразу после старта.
Экран ввода PIN — pin_code ⚠️
Цифровая клавиатура ввода пин-кода. Детектор isPinCodeScreen() ещё не реализован
(ScreenXmlParser.h:45 — TODO «после снятия XML дампов экранов»).
- Эталонный дамп ещё не снят — приоритет при следующем съёме
- Текущий дамп: нет
Главный экран — home_screen
«Главная»: нижняя навигация (Переводы/Сервисы/История) + карточка баланса «TJS\n<дата>».
1.2. Профиль (GetProfileInfoScript)
Боковое меню / профиль — side_menu
Шторка профиля: ФИО, телефон, версия/сборка. Из неё парсятся данные профиля.
1.3. Карты (GetCardInfoScript)
Список карт — cards_screen
Экран «Мои карты» со списком карт (last numbers, баланс).
Детали карты — card_detail
Заголовок «Карта»: полный номер, баланс, держатель.
Детали карты (альт. вид) — card_detail_2
Альтернативное состояние экрана детали карты.
Bottom-sheet «Настройки карты» ⚠️
Шторка с пунктами «Реквизиты карты» / «Заблокировать карту» и т.д. (isCardSettingsBottomSheet()).
- Эталонный дамп ещё не снят — приоритет при следующем съёме
- Текущий дамп: нет
Экран «Реквизиты и информация» ⚠️
Табы «Реквизиты карты» / «Реквизиты счета», номер счёта (isCardRequisitesScreen()).
- Эталонный дамп ещё не снят — приоритет при следующем съёме
- Текущий дамп: нет
2. fetch_transactions (EventType::FetchTransactions → GetLastTransactionsScript)
2.1. Список истории
История операций — history_screen
Табы «Операции» / «Выписка», список транзакций.
Выписка — statement_screen
Экран «Выписка» (появился в 3.2.39+).
Экран переводов — transfers_screen
Список переводов / вкладка переводов.
2.2. Детали транзакции
Детали транзакции — tx_detail
«Дата операции:», «Номер операции:», сумма, статус (isTransactionDetailScreen()).
Детали транзакции перевода — card_transfer_tx_detail
Детали операции, открытые из истории переводов по карте.
3. create_transaction (EventType::CreateTransaction)
3.1. Перевод по карте (PayByCardScript)
Ввод суммы — card_transfer_input
Поле суммы + якорь «Мин. сумма: …» под полем.
Подтверждение — card_transfer_confirm
Bottom-sheet подтверждения, оранжевая кнопка «Подтверждаю» (RGB 255,117,40).
Подтверждение (детали) — card_transfer_confirm_detail
Развёрнутые детали в шторке подтверждения.
Успех — card_transfer_success
Экран «Платёж выполнен», с него снимается ID операции (OCR).
3.2. Перевод по телефону (PayByPhoneScript)
Ввод номера/суммы — phone_transfer_input
Поле номера телефона получателя + сумма.
Подтверждение — phone_transfer_confirm
Шторка подтверждения перевода по номеру.
Успех — phone_transfer_success
Экран успешного перевода по номеру.
Сводные галереи (только экраны, используемые в коде)
Эталонные дампы, на которые сейчас нет активного кода (детектор не вызывается), в эти таблицы не включены.
Задача fetch_profile — вход, профиль, карты (FetchProfile)
![]() home_screen 3.2.33 |
![]() side_menu 3.2.41 |
![]() cards_screen 3.2.33 |
![]() card_detail 3.2.33 |
Задача fetch_transactions (FetchTransactions)
![]() history_screen 3.2.33 |
![]() statement_screen 3.2.41 |
![]() transfers_screen 3.2.33 |
![]() tx_detail 3.2.33 |
![]() card_transfer_tx_detail 3.2.33 |
Задача create_transaction (CreateTransaction)
![]() card_transfer_input 3.2.33 |
![]() card_transfer_confirm 3.2.33 |
![]() card_transfer_success 3.2.33 |
![]() phone_transfer_input 3.2.41 |
![]() phone_transfer_confirm 3.2.41 |
![]() phone_transfer_success 3.2.41 |

















