1
0
forked from BRT/arc
arc/docs/index.md
slava cae345cf61 Implement JS-based remote scripting framework for dynamic script updates:
- 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.
2026-05-13 15:42:10 +07:00

45 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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