LicenseManger/sdk/csharp/README.md

2.1 KiB

Device SDK for C#

安装

DeviceSDK.cs 添加到你的项目中。

初始化

var client = new DeviceClient(
baseUrl: "http://your-server:8080", // 服务器地址
encryptKey: "your-32-byte-encrypt-key-here123456" // 32字节加密密钥
);

API 使用说明

1. 设备注册

// 基本注册(无授权码)
var response = await client.RegisterDeviceAsync(new DeviceRegisterRequest {
Uid = "device-001",
DeviceModel = "test-model"
});```



```csharp
// 带授权码的注册
var response = await client.RegisterDeviceAsync(new DeviceRegisterRequest {
Uid = "device-001",
DeviceModel = "test-model",
License = "your-license-code-here"
});

2. 设备验证

var validateResponse = await client.ValidateDeviceAsync("device-001");
Console.WriteLine($"设备状态: {validateResponse.Status}");
Console.WriteLine($"授权类型: {validateResponse.LicenseType}");
Console.WriteLine($"过期时间: {validateResponse.ExpireTime}");

3. 更新启动次数

var startCountResponse = await client.UpdateStartCountAsync("device-001");
Console.WriteLine($"当前启动次数: {startCountResponse.Data.StartCount}");

4. 绑定授权码

var bindLicenseResponse = await client.BindLicenseAsync("device-001", "your-license-code-here");
Console.WriteLine($"绑定结果: {bindLicenseResponse.Data.Success}");

错误处理

SDK 使用 DeviceSDKException 统一处理错误:

try {
    // 调用 API 的代码
} catch (DeviceSDKException e) {
    Console.WriteLine($"错误码: {e.ErrorCode}, 错误信息: {e.Message}");
}

响应数据结构

// 设备验证响应
public class DeviceValidateResponse
{
public string Status { get; set; } // 设备状态
public string LicenseType { get; set; } // 授权类型
public DateTime ExpireTime { get; set; } // 过期时间
public int StartCount { get; set; } // 启动次数
public int MaxUses { get; set; } // 最大使用次数
}
// 启动次数响应
public class StartCountResponse
{
public int Code { get; set; }
public string Message { get; set; }
public StartCountData Data { get; set; }
}