krona-staff/apps/KronaStaffTerminal/README.md
Ochenstarik 3fbeb1fe1b
Some checks are pending
ci / verify (push) Waiting to run
feat: secure terminal lifecycle and attendance scans
2026-09-17 21:13:42 +07:00

47 lines
4.1 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;
- автозагрузка вместе с Windows и постоянная работа в системном трее;
- удаление сотрудника и завершение терминала только по PIN и отпечатку администратора;
- шифрование сотрудников, токенов и шаблонов отпечатков средствами 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. Откройте вкладку «Сотрудники».
2. Введите табельный номер и имя, затем нажмите «Добавить».
3. Выберите сотрудника в списке и нажмите «Зарегистрировать отпечаток».
4. Трижды приложите один и тот же палец, убирая его со стекла после каждого принятого скана.
После регистрации вкладка «Терминал» постоянно ожидает отпечаток. Первое сканирование создаёт «Приход», следующее после защитного интервала — «Уход». Удержание пальца и повторное прикладывание в течение защитного интервала не создают новое событие.
## Администратор и работа в фоне
1. Выберите сотрудника и нажмите «Права администратора».
2. Убедитесь, что у него зарегистрирован отпечаток.
3. На вкладке настроек задайте PIN длиной не менее четырёх символов.
После первичной настройки удаление сотрудника, изменение прав, изменение PIN и полный выход требуют сначала PIN, затем отпечаток администратора. Крестик скрывает окно в системный трей, сканер продолжает работать. Двойной щелчок по значку возвращает окно. Автозагрузка включена по умолчанию.
## Уведомления
На вкладке «Уведомления и сканер» включите нужный канал, укажите токен бота и идентификатор чата, сохраните настройки и нажмите «Отправить тест». При успешном распознавании сообщение содержит имя сотрудника и местное время прихода.