Files
iistwin/mobile/README.md
Ильяс Султанов 1f5ecb6da4 fix(number-fields): избегаем потери точности длинных чисел
- number-поля теперь рендерятся как text + inputMode=numeric,
  чтобы браузер не округлял значения через input type=number
- пробелы при вставке в number-поля удаляются
- бэкенд нормализует значения number-полей в строку перед сохранением
- добавлен хелпер normalizeFieldValueForStorage

Closes: искажение расчётного счёта и других длинных числовых полей
2026-07-07 21:03:40 +03:00

67 lines
3.2 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.

# iistwin — Android APK (Expo EAS)
Мобильное приложение для Android, собранное через Expo EAS облачный сервис.
Это WebView-обёртка над веб-версией — обновления функционала происходят автоматически при деплое.
**Production URL:** `https://iistwin.ru`
**Expo проект:** https://expo.dev/accounts/iisultanov/projects/iistwin
## Настройка EXPO_TOKEN
1. Открой https://expo.dev/settings/access-tokens
2. Нажми **Create token**, скопируй значение (~40 символов латиницы)
3. В Replit: левая панель → 🔒 **Secrets** → добавь `EXPO_TOKEN` = твой токен
## Сборка APK (одна команда)
```bash
cd mobile && npm run build
```
Команда автоматически:
1. Генерирует keystore и `credentials.json` если их нет
2. Запускает облачную сборку на серверах Expo (10-20 мин)
APK доступен после сборки: https://expo.dev/accounts/iisultanov/projects/iistwin/builds
## Установка APK на Android
1. Скачай `.apk` с expo.dev → проект → Builds
2. На Android: **Настройки → Безопасность → Установка из неизвестных источников**
3. Установи APK
## Настройка паролей подписи (опционально)
По умолчанию keystore генерируется с паролями по умолчанию.
Для кастомных паролей добавь секреты в Replit:
- `ANDROID_KEYSTORE_PASSWORD` — пароль keystore
- `ANDROID_KEY_PASSWORD` — пароль ключа
- `ANDROID_KEY_ALIAS` — алиас ключа (по умолчанию: iistwin)
## Обновление приложения
- **Изменения UI, форм, функционала** — автоматически при деплое, APK переустанавливать не нужно
- **Изменения нативного кода** (иконка, разрешения) — нужна новая сборка EAS
## Безопасность
- `mobile/credentials/` и `mobile/credentials.json` в `.gitignore` — не попадают в VCS
- Файлы создаются динамически через `scripts/setup-android-creds.sh`
- WebView доступен только для origin: `https://iistwin.ru`
- Внешние ссылки открываются в браузере устройства
## Структура
```
mobile/
├── App.js # WebView — только production origin, кнопка "назад"
├── app.json # projectId=18e993b2, owner=iisultanov
├── eas.json # preview → buildType: apk
├── credentials.json.example # Шаблон (не коммитится)
├── package.json # npm run build = setup + EAS
└── assets/icon.png
scripts/
├── setup-android-creds.sh # Генерирует keystore и credentials.json
└── eas-build.exp # Expect-скрипт для EAS CLI
```