generated from VLADIMIR/template
add qr-s
This commit is contained in:
@@ -39,6 +39,16 @@ goose -dir ./migrations postgres "user=postgres password=postgres host=localhost
|
||||
make test
|
||||
```
|
||||
|
||||
## PDF с QR-кодами команд
|
||||
|
||||
Кнопка «QR команд» на странице управления игрой скачивает `GET /api/games/{id}/teams/qr.pdf` с авторизацией организатора, автора или администратора. Без команд кнопка скрыта; прямой запрос для пустой игры возвращает `FailedPrecondition`.
|
||||
|
||||
Модуль `internal/modules/team_qr_pdf` формирует A4 в книжной ориентации, 12 карточек (3 × 4) с названиями команд и пунктирными линиями для разрезания. Имя файла: `YYYY-MM-DD_Название игры.pdf`, дата берётся из `games.start_at`. Недопустимые символы имени файла заменяются на `_`.
|
||||
|
||||
Для рабочих ссылок задайте `APP_BASE_URL` — тот же публичный адрес приложения, который используется существующими QR-кодами фронтенда (`VITE_API_URL`). Пустой или некорректный адрес приводит к ошибке скачивания. PDF не сохраняется в хранилище и отдаётся с `Cache-Control: no-store`.
|
||||
|
||||
Шрифт DejaVu Sans Condensed встроен в бинарник вместе с лицензией; системные шрифты не нужны. Поддерживается кириллица, длинные названия переносятся и уменьшаются до размера 6 pt. Символы вне BMP (например, emoji) вызывают явную ошибку генерации из-за ограничения PDF-библиотеки.
|
||||
|
||||
## Закрывашка сценария
|
||||
|
||||
Автор (или администратор) сохраняет закрывашку через `PUT /api/scenarios/{id}/conclusion`:
|
||||
|
||||
Reference in New Issue
Block a user