krona-staff/apps/KronaStaffTerminal/README.md
Ochenstarik b88ff9195c
Some checks are pending
ci / verify (push) Waiting to run
fix: harden terminal scanner and background operation
2026-09-18 00:49:34 +07:00

50 lines
5.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.

# Krona Staff Terminal
Локальный терминал учёта прихода для USB-сканеров ZKTeco/BioLink SLK20R и ZKFinger SDK 5.3.
## Возможности
- выбор одного из подключённых сканеров с автоматическим переходом на рабочее устройство;
- добавление и редактирование сотрудников с должностью, полом и правами администратора без потери отпечатков и журнала;
- несколько отпечатков у одного сотрудника, каждый регистрируется по трём последовательным сканам;
- чередование событий «Приход» и «Уход»;
- настраиваемая защита от повторного сканирования, по умолчанию 120 секунд;
- локальный журнал последних отметок;
- защищённая очистка журнала без удаления сотрудников и отпечатков;
- уведомления через Telegram Bot API и MAX Bot API;
- автозагрузка сразу в системный трей и постоянное фоновое сканирование, даже когда открыта другая программа;
- закрытый административный раздел с входом по PIN или отпечатку администратора;
- автоматическая блокировка административного раздела через 5 минут и при сворачивании;
- шифрование сотрудников, токенов и шаблонов отпечатков средствами Windows DPAPI.
Исходное изображение пальца не сохраняется. Шаблон отпечатка хранится только локально и может быть расшифрован текущей учётной записью Windows.
## Запуск
Требуются Windows 10/11 x64, драйвер SLK20R и ZKFinger SDK 5.3. Сборка и запуск из корня репозитория:
```powershell
dotnet run --project apps/KronaStaffTerminal/KronaStaffTerminal.csproj -c Debug -p:Platform=x64 --launch-profile "KronaStaffTerminal (Unpackaged)"
```
## Первый сотрудник
1. Откройте вкладку «Сотрудники» и при первом входе создайте PIN длиной не менее шести символов.
2. Введите табельный номер и имя, отметьте «Администратор терминала», затем нажмите «Добавить».
3. Выберите сотрудника в списке и нажмите «Добавить отпечаток».
4. Трижды приложите один и тот же палец, убирая его со стекла после каждого принятого скана.
5. Для регистрации другого пальца повторно нажмите «Добавить отпечаток».
После регистрации вкладка «Терминал» постоянно ожидает отпечаток. Первое сканирование создаёт «Приход», следующее после защитного интервала — «Уход». Удержание пальца и повторное прикладывание в течение защитного интервала не создают новое событие.
## Администратор и работа в фоне
1. Вкладки «Сотрудники» и «Уведомления и сканер» открываются только после входа администратора.
2. Для входа достаточно PIN либо зарегистрированного отпечатка администратора.
3. Кнопка «Заблокировать», сворачивание окна или пять минут бездействия завершают административный сеанс.
После первичной настройки добавление сотрудников, регистрация и удаление отпечатков, изменение прав, уведомлений и параметров сканера доступны только в административном сеансе. Крестик скрывает окно в системный трей, сканер продолжает работать. Двойной щелчок по значку возвращает окно. Автозагрузка включена по умолчанию.
## Уведомления
На вкладке «Уведомления и сканер» включите нужный канал, укажите токен бота и идентификатор чата, сохраните настройки и нажмите «Отправить тест». При успешном распознавании сообщение содержит имя сотрудника и местное время прихода.