63 lines
1.7 KiB
Markdown
63 lines
1.7 KiB
Markdown
# Lendry ID Super App
|
||
|
||
Tauri v2 приложение для macOS, iOS и Android. Использует тот же React/Tailwind/shadcn UI стиль, что и `apps/frontend`, через Vite alias:
|
||
|
||
```ts
|
||
'@': '../apps/frontend'
|
||
```
|
||
|
||
## Запуск
|
||
|
||
```bash
|
||
npm install
|
||
npm --workspace @lendry/tauri-app run tauri:dev
|
||
```
|
||
|
||
## Web build
|
||
|
||
```bash
|
||
npm --workspace @lendry/tauri-app run build
|
||
```
|
||
|
||
## Mobile bootstrap
|
||
|
||
```bash
|
||
npm --workspace @lendry/tauri-app run android:init
|
||
npm --workspace @lendry/tauri-app run ios:init
|
||
```
|
||
|
||
После генерации проверьте `src-tauri/mobile-permissions.md` и добавьте camera permissions, если CLI не внёс их автоматически.
|
||
|
||
## Docker APK build
|
||
|
||
При запуске общего `docker compose up --build` сервис `tauri-apk-builder` собирает Android APK и кладёт файл сюда:
|
||
|
||
```text
|
||
apps/frontend/public/downloads/lendry-id.apk
|
||
```
|
||
|
||
После этого кнопка «Скачать приложение» на странице входа скачивает APK через:
|
||
|
||
```text
|
||
/download/android
|
||
```
|
||
|
||
Собрать только APK:
|
||
|
||
```bash
|
||
docker compose up --build tauri-apk-builder
|
||
```
|
||
|
||
## Переменные окружения
|
||
|
||
```bash
|
||
VITE_API_URL=https://sso.example.ru/idp-api
|
||
VITE_FRONTEND_URL=https://sso.example.ru
|
||
```
|
||
|
||
## Реализованные модули
|
||
|
||
- `Chats`: wrapper существующего web UI `/family`, чтобы не дублировать messenger.
|
||
- `Security`: QR scanner + approve `/auth/advanced/qr/session/:sessionId/approve`, список сессий и revoke.
|
||
- `Authenticator`: offline TOTP RFC 6238 с хранением seeds в `tauri-plugin-stronghold`.
|