207 lines
13 KiB
Markdown
207 lines
13 KiB
Markdown
# Dushanbe — экраны и дампы
|
||
|
||
Чек-лист экранных дампов для банка **Dushanbe City Bank** (`appCode: dushanbe` /
|
||
`dushanbe_city_bank`). Используется, когда выходит новая версия приложения и нужно
|
||
понять, **какие экраны переснять**.
|
||
|
||
## Как пользоваться при выходе новой версии
|
||
|
||
1. Завести папку `assets/dushanbe/<новая_версия>/` (например `assets/dushanbe/3.2.42/`).
|
||
2. Пройти по чек-листу ниже и снять XML+скриншот каждого экрана на устройстве с новой
|
||
версией. Дампы кладутся в новую папку под теми же именами.
|
||
3. Сверить новый дамп с картинкой ниже (на ней — **самый свежий из имеющихся** дампов).
|
||
4. Если вёрстка/тексты разошлись с парсером — обновить `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`
|
||
Сплэш/загрузка приложения сразу после старта.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.33**
|
||
- <img src="../assets/dushanbe/3.2.33/launch_screen.jpg" width="250" alt="launch_screen">
|
||
|
||
#### Экран ввода PIN — `pin_code` ⚠️
|
||
Цифровая клавиатура ввода пин-кода. Детектор `isPinCodeScreen()` ещё не реализован
|
||
(`ScreenXmlParser.h:45` — TODO «после снятия XML дампов экранов»).
|
||
- [ ] **Эталонный дамп ещё не снят — приоритет при следующем съёме**
|
||
- Текущий дамп: _нет_
|
||
|
||
#### Главный экран — `home_screen`
|
||
«Главная»: нижняя навигация (Переводы/Сервисы/История) + карточка баланса «TJS\n<дата>».
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.33**
|
||
- <img src="../assets/dushanbe/3.2.33/home_screen.jpg" width="250" alt="home_screen">
|
||
|
||
### 1.2. Профиль (`GetProfileInfoScript`)
|
||
|
||
#### Боковое меню / профиль — `side_menu`
|
||
Шторка профиля: ФИО, телефон, версия/сборка. Из неё парсятся данные профиля.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.41**
|
||
- <img src="../assets/dushanbe/3.2.41/side_menu.jpg" width="250" alt="side_menu">
|
||
|
||
### 1.3. Карты (`GetCardInfoScript`)
|
||
|
||
#### Список карт — `cards_screen`
|
||
Экран «Мои карты» со списком карт (last numbers, баланс).
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.33**
|
||
- <img src="../assets/dushanbe/3.2.33/cards_screen.jpg" width="250" alt="cards_screen">
|
||
|
||
#### Детали карты — `card_detail`
|
||
Заголовок «Карта»: полный номер, баланс, держатель.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.33**
|
||
- <img src="../assets/dushanbe/3.2.33/card_detail.jpg" width="250" alt="card_detail">
|
||
|
||
#### Детали карты (альт. вид) — `card_detail_2`
|
||
Альтернативное состояние экрана детали карты.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **корень (база)**
|
||
- <img src="../assets/dushanbe/card_detail_2.png" width="250" alt="card_detail_2">
|
||
|
||
#### Bottom-sheet «Настройки карты» ⚠️
|
||
Шторка с пунктами «Реквизиты карты» / «Заблокировать карту» и т.д. (`isCardSettingsBottomSheet()`).
|
||
- [ ] **Эталонный дамп ещё не снят — приоритет при следующем съёме**
|
||
- Текущий дамп: _нет_
|
||
|
||
#### Экран «Реквизиты и информация» ⚠️
|
||
Табы «Реквизиты карты» / «Реквизиты счета», номер счёта (`isCardRequisitesScreen()`).
|
||
- [ ] **Эталонный дамп ещё не снят — приоритет при следующем съёме**
|
||
- Текущий дамп: _нет_
|
||
|
||
---
|
||
|
||
## 2. fetch_transactions (`EventType::FetchTransactions` → `GetLastTransactionsScript`)
|
||
|
||
### 2.1. Список истории
|
||
|
||
#### История операций — `history_screen`
|
||
Табы «Операции» / «Выписка», список транзакций.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.33**
|
||
- <img src="../assets/dushanbe/3.2.33/history_screen.jpg" width="250" alt="history_screen">
|
||
|
||
#### Выписка — `statement_screen`
|
||
Экран «Выписка» (появился в 3.2.39+).
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.41**
|
||
- <img src="../assets/dushanbe/3.2.41/statement_screen.jpg" width="250" alt="statement_screen">
|
||
|
||
#### Экран переводов — `transfers_screen`
|
||
Список переводов / вкладка переводов.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.33**
|
||
- <img src="../assets/dushanbe/3.2.33/transfers_screen.jpg" width="250" alt="transfers_screen">
|
||
|
||
### 2.2. Детали транзакции
|
||
|
||
#### Детали транзакции — `tx_detail`
|
||
«Дата операции:», «Номер операции:», сумма, статус (`isTransactionDetailScreen()`).
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.33**
|
||
- <img src="../assets/dushanbe/3.2.33/tx_detail.jpg" width="250" alt="tx_detail">
|
||
|
||
#### Детали транзакции перевода — `card_transfer_tx_detail`
|
||
Детали операции, открытые из истории переводов по карте.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.33**
|
||
- <img src="../assets/dushanbe/3.2.33/card_transfer_tx_detail.jpg" width="250" alt="card_transfer_tx_detail">
|
||
|
||
---
|
||
|
||
## 3. create_transaction (`EventType::CreateTransaction`)
|
||
|
||
### 3.1. Перевод по карте (`PayByCardScript`)
|
||
|
||
#### Ввод суммы — `card_transfer_input`
|
||
Поле суммы + якорь «Мин. сумма: …» под полем.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.33**
|
||
- <img src="../assets/dushanbe/3.2.33/card_transfer_input.jpg" width="250" alt="card_transfer_input">
|
||
|
||
#### Подтверждение — `card_transfer_confirm`
|
||
Bottom-sheet подтверждения, оранжевая кнопка «Подтверждаю» (RGB 255,117,40).
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.33**
|
||
- <img src="../assets/dushanbe/3.2.33/card_transfer_confirm.jpg" width="250" alt="card_transfer_confirm">
|
||
|
||
#### Подтверждение (детали) — `card_transfer_confirm_detail`
|
||
Развёрнутые детали в шторке подтверждения.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **корень (база)**
|
||
- <img src="../assets/dushanbe/card_transfer_confirm_detail.png" width="250" alt="card_transfer_confirm_detail">
|
||
|
||
#### Успех — `card_transfer_success`
|
||
Экран «Платёж выполнен», с него снимается ID операции (OCR).
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.33**
|
||
- <img src="../assets/dushanbe/3.2.33/card_transfer_success.jpg" width="250" alt="card_transfer_success">
|
||
|
||
### 3.2. Перевод по телефону (`PayByPhoneScript`)
|
||
|
||
#### Ввод номера/суммы — `phone_transfer_input`
|
||
Поле номера телефона получателя + сумма.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.41**
|
||
- <img src="../assets/dushanbe/3.2.41/phone_transfer_input.jpg" width="250" alt="phone_transfer_input">
|
||
|
||
#### Подтверждение — `phone_transfer_confirm`
|
||
Шторка подтверждения перевода по номеру.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.41**
|
||
- <img src="../assets/dushanbe/3.2.41/phone_transfer_confirm.jpg" width="250" alt="phone_transfer_confirm">
|
||
|
||
#### Успех — `phone_transfer_success`
|
||
Экран успешного перевода по номеру.
|
||
- [ ] Снять под новую версию
|
||
- Текущий дамп: **3.2.41**
|
||
- <img src="../assets/dushanbe/3.2.41/phone_transfer_success.jpg" width="250" alt="phone_transfer_success">
|
||
|
||
|
||
|
||
|
||
---
|
||
|
||
## Сводные галереи (только экраны, используемые в коде)
|
||
|
||
_Эталонные дампы, на которые сейчас нет активного кода (детектор не вызывается), в эти таблицы не включены._
|
||
|
||
### Задача `fetch_profile` — вход, профиль, карты (`FetchProfile`)
|
||
|
||
| | | | | | | | |
|
||
|---|---|---|---|---|---|---|---|
|
||
| <img src="../assets/dushanbe/3.2.33/home_screen.jpg" width="100"><br><sub>home_screen</sub><br><sub>3.2.33</sub> | <img src="../assets/dushanbe/3.2.41/side_menu.jpg" width="100"><br><sub>side_menu</sub><br><sub>3.2.41</sub> | <img src="../assets/dushanbe/3.2.33/cards_screen.jpg" width="100"><br><sub>cards_screen</sub><br><sub>3.2.33</sub> | <img src="../assets/dushanbe/3.2.33/card_detail.jpg" width="100"><br><sub>card_detail</sub><br><sub>3.2.33</sub> | | | | |
|
||
|
||
### Задача `fetch_transactions` (`FetchTransactions`)
|
||
|
||
| | | | | | | | |
|
||
|---|---|---|---|---|---|---|---|
|
||
| <img src="../assets/dushanbe/3.2.33/history_screen.jpg" width="100"><br><sub>history_screen</sub><br><sub>3.2.33</sub> | <img src="../assets/dushanbe/3.2.41/statement_screen.jpg" width="100"><br><sub>statement_screen</sub><br><sub>3.2.41</sub> | <img src="../assets/dushanbe/3.2.33/transfers_screen.jpg" width="100"><br><sub>transfers_screen</sub><br><sub>3.2.33</sub> | <img src="../assets/dushanbe/3.2.33/tx_detail.jpg" width="100"><br><sub>tx_detail</sub><br><sub>3.2.33</sub> | <img src="../assets/dushanbe/3.2.33/card_transfer_tx_detail.jpg" width="100"><br><sub>card_transfer_tx_detail</sub><br><sub>3.2.33</sub> | | | |
|
||
|
||
### Задача `create_transaction` (`CreateTransaction`)
|
||
|
||
| | | | | | | | |
|
||
|---|---|---|---|---|---|---|---|
|
||
| <img src="../assets/dushanbe/3.2.33/card_transfer_input.jpg" width="100"><br><sub>card_transfer_input</sub><br><sub>3.2.33</sub> | <img src="../assets/dushanbe/3.2.33/card_transfer_confirm.jpg" width="100"><br><sub>card_transfer_confirm</sub><br><sub>3.2.33</sub> | <img src="../assets/dushanbe/3.2.33/card_transfer_success.jpg" width="100"><br><sub>card_transfer_success</sub><br><sub>3.2.33</sub> | <img src="../assets/dushanbe/3.2.41/phone_transfer_input.jpg" width="100"><br><sub>phone_transfer_input</sub><br><sub>3.2.41</sub> | <img src="../assets/dushanbe/3.2.41/phone_transfer_confirm.jpg" width="100"><br><sub>phone_transfer_confirm</sub><br><sub>3.2.41</sub> | <img src="../assets/dushanbe/3.2.41/phone_transfer_success.jpg" width="100"><br><sub>phone_transfer_success</sub><br><sub>3.2.41</sub> | | |
|