Код вводится с помощью QR-сканера. Предполагается, что сканер ведет себя, как клавиатура, симулируя ввод буквенно-цифровых символов (a-z
, A-Z
, 0-9
). Ввод кода завершается нажатием на Enter
.
Необходимо запустить установщик. В процессе установки на рабочем столе появится ярлык. Далее необходимо запускать приложение через этот ярлык.
После первого запуска в директории с исполняемым файлом появится файл settings.json
с дефолтными настройками:
{
"idFieldName": "id", // Название столбца таблицы, в котором лежат коды, сравниваемые с кодом от сканера
"scannedFieldName": "scanned", // Название столбца таблицы, в котором лежат флаги просканированности
"scannedFieldValue": "1", // Значение просканированности, означающее "просканировано"
"scannedDateTimeName": "scannedDateTime", // Название столбца таблицы, в котором лежат времена первого сканирования (ISO 8601)
"waitingMessageText": "⌛ Ожидание сканирования", // Сообщение ожидания
"successMessageText": "✔️ Регистрация {{name}} проведена успешно", // Собщение успеха
"errorMessageText": "💩 Запись не найдена\n{{id}}", // Сообщение ошибки
"duplicateMessageText": "🤨 Регистрация {{name}} уже выполнена", // Сообщение дубликата (такой код уже просканирован)
"messageTimeoutSeconds": 3, // Время, через которое произойдет переход к сообщению ожидания
"backgroundImagePath": "", // Путь до картинки на фоне
"successImagePath": "", // Путь до картинки в сообщении успеха
"errorImagePath": "", // Путь до картинки в сообщении ошибки
"duplicateImagePath": "" // Путь до картинки в сообщении дубликата
}
В сообщениях можно использовать значения из любых полей таблицы с помощью следующего синтаксиса: {{fieldName}}
, где fieldName
- название столбца таблицы. Если такого поля в таблице нет, значение {{fieldName}}
останется в итоговом тексте без изменений.
В сообщениях успеха и дубликата доступны все поля. В сообщении ошибки доступно только поле settings.idFieldName
(по умолчанию id
). В сообщении ожидания не доступно ни одно поле.
Также в сообщениях можно делать принудительный перенос строки с помощью символа \n
.
В сообщениях можно использовать эмодзи (если их поддерживает среда, в которой запускается приложение).
Пути могут быть абсолютными или относительными (относительно исполняемого файла приложения).
Важно: в json символ \
является экранирующим. Чтобы указать путь, нужно заменить \
на \\
или /
.
Все картинки являются опциональными. Пустая строка означает отсутствие картинки.
Картинки в сообщении сделаны по ТЗ, но сообщение с картинкой выглядит странно. Рекомендуется использовать эмодзи в тексте сообщений.
Переход к действиям с БД осуществляется с помощью нажатия на Esc
на основном экране.
БД импортируется из CSV-файла. Файл должен полностью помещаться в оперативную память. В качестве разделителя используется запятая (,
).
Первая строка - заголовки. Коды (settings.idFieldName
) должны быть уникальными. В остальном структура таблицы остается на усмотрение пользователя. Важно изменить настройки так, чтобы приложение знало, как с ней работать.
При импорте существующие данные полностью заменяются новыми.
Дополнение идентично импорту, но новые данные не заменяют старые, а добавляются к ним.
Есть возможность экспортировать БД в CSV-файл.
Полноэкранный режим переключается нажатием на F11
.