FaceDeviceSDK.FacePass
1.0.0
See the version list below for details.
dotnet add package FaceDeviceSDK.FacePass --version 1.0.0
NuGet\Install-Package FaceDeviceSDK.FacePass -Version 1.0.0
<PackageReference Include="FaceDeviceSDK.FacePass" Version="1.0.0" />
<PackageVersion Include="FaceDeviceSDK.FacePass" Version="1.0.0" />
<PackageReference Include="FaceDeviceSDK.FacePass" />
paket add FaceDeviceSDK.FacePass --version 1.0.0
#r "nuget: FaceDeviceSDK.FacePass, 1.0.0"
#:package FaceDeviceSDK.FacePass@1.0.0
#addin nuget:?package=FaceDeviceSDK.FacePass&version=1.0.0
#tool nuget:?package=FaceDeviceSDK.FacePass&version=1.0.0
FaceDeviceSDK.FacePass
.NET SDK для интеграции устройств FacePass в приложения ASP.NET Core.
Установка
dotnet add package FaceDeviceSDK.FacePass
Что нужно для работы
Перед использованием подготовьте:
- URL устройства FacePass или API-шлюза, например
http://192.168.1.100 deviceKeysecret- ASP.NET Core приложение на .NET 10+
1. Добавьте настройки в appsettings.json
{
"FacePass": {
"BaseUrl": "http://192.168.1.100",
"DeviceKey": "YOUR_DEVICE_KEY",
"Secret": "YOUR_SECRET"
}
}
2. Подключите SDK в Program.cs
using FacePass;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
var facePassBaseUrl = builder.Configuration["FacePass:BaseUrl"]
?? throw new InvalidOperationException("FacePass:BaseUrl is not configured.");
builder.Services.AddFacePassService(facePassBaseUrl);
var app = builder.Build();
app.MapControllers();
app.Run();
После этого сервис IFacePassService будет доступен через dependency injection.
3. Пример использования в ASP.NET Core контроллере
using FacePass.Interfaces;
using FacePass.Models;
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/facepass/device")]
public sealed class FacePassDeviceController(
IFacePassService facePassService,
IConfiguration configuration) : ControllerBase
{
[HttpPost("restart")]
public async Task<IActionResult> Restart()
{
var request = new BaseHFRequest
{
deviceKey = configuration["FacePass:DeviceKey"]
?? throw new InvalidOperationException("FacePass:DeviceKey is not configured."),
secret = configuration["FacePass:Secret"]
?? throw new InvalidOperationException("FacePass:Secret is not configured.")
};
var response = await facePassService.DeviceRestart(request);
return Ok(response);
}
[HttpPost("open-door")]
public async Task<IActionResult> OpenDoor()
{
var request = new BaseHFRequest
{
deviceKey = configuration["FacePass:DeviceKey"]
?? throw new InvalidOperationException("FacePass:DeviceKey is not configured."),
secret = configuration["FacePass:Secret"]
?? throw new InvalidOperationException("FacePass:Secret is not configured.")
};
var response = await facePassService.DeviceOpening(request);
return Ok(response);
}
}
4. Callback endpoints от устройства
Если устройство отправляет heartbeat и события идентификации в ваше приложение, можно добавить такой контроллер:
using FacePass.Models;
using Microsoft.AspNetCore.Mvc;
[ApiController]
[Route("api/facepass/callbacks")]
public sealed class FacePassCallbacksController : ControllerBase
{
[HttpPost("heartbeat")]
public IActionResult Heartbeat([FromForm] HeartbeatInfo model)
{
// Сохранение состояния устройства
return Ok();
}
[HttpPost("identify")]
public IActionResult Identify([FromForm] IdentifyInfo model)
{
// Обработка события идентификации
return Ok();
}
}
Если устройство присылает JSON, используйте
[FromBody]вместо[FromForm].
Что умеет SDK
Через IFacePassService доступны методы для:
- настройки устройства;
- перезагрузки, сброса и открытия двери;
- управления callback URL;
- регистрации и удаления фотографий;
- управления сотрудниками;
- настройки рекламы, изображений и пользовательских параметров;
- получения событий heartbeat и identify.
Лицензия
Использование разрешено, но модификация исходного кода запрещена.
Полный текст лицензии: LICENSE.txt
Репозиторий
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Flurl.Http (>= 4.0.2)
- Flurl.Http.Newtonsoft (>= 0.9.1)
- Microsoft.Extensions.Configuration (>= 10.0.7)
- Microsoft.Extensions.DependencyInjection (>= 10.0.7)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.7)
- Serilog.Sinks.File (>= 7.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0-preview.2 | 42 | 10/3/2026 |
| 2.0.0-preview.1 | 49 | 10/3/2026 |
| 1.0.0 | 127 | 5/5/2026 |