krona-staff/apps/KronaStaffTerminal/README.md
Ochenstarik efd5bd5c60
Some checks are pending
ci / verify (push) Waiting to run
feat: add SLK20R attendance terminal
2026-09-17 20:51:20 +07:00

36 lines
2.6 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.
## Возможности
- выбор одного из подключённых сканеров;
- добавление и удаление сотрудников;
- регистрация отпечатка по трём последовательным сканам;
- распознавание сотрудника и одна отметка прихода в день;
- локальный журнал последних отметок;
- уведомления через Telegram Bot API и MAX Bot API;
- шифрование сотрудников, токенов и шаблонов отпечатков средствами 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. Трижды приложите один и тот же палец, убирая его со стекла после каждого принятого скана.
После регистрации вкладка «Терминал» постоянно ожидает отпечаток. Повторный скан в тот же день распознаётся, но вторую отметку прихода не создаёт.
## Уведомления
На вкладке «Уведомления и сканер» включите нужный канал, укажите токен бота и идентификатор чата, сохраните настройки и нажмите «Отправить тест». При успешном распознавании сообщение содержит имя сотрудника и местное время прихода.