- Add Proof of Concept (PoC) for executing JavaScript scripts fetched remotely. - Integrate `Black::GetProfileInfoScript` logic into a JS version with fallback to C++ on errors. - Extend `ScreenXmlParser` with additional JS-to-C++ bridge methods. - Update `config.ini` for scripting configuration. - Ensure scripts are securely fetched with SHA-256 validation and use an atomic caching mechanism. - Add developer tools for debugging JS scripts and enable easier script updates without app re-deployment.
45 lines
2.0 KiB
Markdown
45 lines
2.0 KiB
Markdown
# ARCDeskProject — Документация
|
||
|
||
Десктопное Qt6/C++ приложение для мониторинга и автоматизации Android банковских приложений через ADB.
|
||
|
||
---
|
||
|
||
## Оглавление
|
||
|
||
### Архитектура приложения
|
||
|
||
| Раздел | Описание |
|
||
|--------|----------|
|
||
| [События и задачи](events.md) | Очередь задач: получение из API, хранение в БД, выполнение скриптов |
|
||
| [Удалённые JS-скрипты](remote_scripts.md) | Scripting-слой: обновляемые JS-версии банковских скриптов через `QJSEngine` |
|
||
|
||
### API Backend (`Adb Core Backend v1.0.0`)
|
||
|
||
| Раздел | Описание |
|
||
|--------|----------|
|
||
| [Авторизация](api/auth.md) | Логин, refresh token, хранение токенов |
|
||
| [Profile & Material](api/profile.md) | Банковские профили и карты (материалы) |
|
||
| [Device & Desktop](api/device.md) | Регистрация десктопов и Android-устройств, скриншоты |
|
||
| [Task](api/task.md) | Получение задач, отправка результатов |
|
||
| [NetworkService](api/network.md) | Полная карта всех HTTP-вызовов приложения |
|
||
|
||
---
|
||
|
||
## Общая архитектура приложения
|
||
|
||
```
|
||
MainWindow (Qt6 GUI)
|
||
├── DeviceScreener (QThread) — опрос ADB устройств, скриншоты
|
||
├── EventHandler (QThread) — обработка задач, запуск скриптов
|
||
└── NetworkService (QThread) — синхронизация с REST API (localhost:9999/api/v1/)
|
||
|
||
Скрипты: android/{rshb,birbank,toss,ozon,ziraat}/
|
||
Database: SQLite — DatabaseManager (singleton) + DAO-слой
|
||
```
|
||
|
||
## Технологии
|
||
|
||
- **Qt6** — Widgets, Network, Sql, Xml
|
||
- **C++17**, SQLite, ADB, Tesseract OCR
|
||
- CMake
|