Files
ttrgpgLicenseManager/README.md
T
2026-06-28 13:10:12 +08:00

71 lines
2.7 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.
# TTRPG License Manager
Android-приложение для администрирования лицензий **TTRPG Player** через сервер [DndGamePlayerLicenseServer](https://git.mailib.ru/ifontosh/DndGamePlayerLicenseServer).
## Возможности
- **Лицензии** — список всех продуктовых ключей с параметрами (`sub`, `pid`, лимит устройств, срок, статус отзыва, активированные `deviceId`).
- **Новый ключ** — генерация продуктового ключа через `POST /v1/admin/product-keys`.
- **Настройки** — URL сервера и admin token (`LICENSE_ADMIN_TOKEN`).
## Требования
- Android Studio Ladybug (2024.2+) или новее
- JDK 17
- Android SDK 35
## Сборка
### Первоначальная настройка SDK (Windows)
```powershell
powershell -ExecutionPolicy Bypass -File .\scripts\setup-android-sdk.ps1
$env:ANDROID_HOME = "$env:LOCALAPPDATA\Android\Sdk"
```
Android Studio установлен в `C:\Program Files\Android\Android Studio`. Для запуска на устройстве подключите телефон с USB-отладкой или создайте эмулятор в Android Studio (Device Manager).
### Сборка debug APK
```bash
./gradlew assembleDebug
```
APK: `app/build/outputs/apk/debug/app-debug.apk`
1. Откройте проект в Android Studio (или соберите через Gradle, см. выше).
2. При первом запуске укажите в **Настройках**:
- URL: `https://license.mailib.ru/` (или локальный сервер)
- Admin token с сервера (`LICENSE_ADMIN_TOKEN`)
3. Run на устройстве или эмуляторе.
```bash
./gradlew assembleDebug
```
## API сервера
Приложение использует admin-эндпоинты (Bearer token):
| Метод | Путь | Описание |
|-------|------|----------|
| GET | `/v1/admin/licenses` | Список лицензий |
| POST | `/v1/admin/product-keys` | Создание ключа |
Перед использованием приложения задеплойте обновлённый сервер с этими эндпоинтами.
## Логотип
Иконка и брендинг — логотип TTRPG Player (фиолетовая молния `#8B5CF6`).
## Локальная разработка с сервером
```bash
cd DndGamePlayerLicenseServer
cp data.example.json data.json
# задайте LICENSE_PRIVATE_KEY_PEM
npm start
```
В приложении укажите URL `http://10.0.2.2:3847/` (эмулятор) и admin token.