feat(work): 新增硬件云端接入相关接口

This commit is contained in:
fudiwei
2022-12-04 02:12:14 +08:00
parent e2a26fcc01
commit a61c8e5964
65 changed files with 1559 additions and 14 deletions

View File

@@ -41,7 +41,7 @@
public string DeviceSerialNumber { get; set; } = default!;
/// <summary>
/// 获取或设置通行时间戳。
/// 获取或设置上报时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("timestamp")]
[System.Text.Json.Serialization.JsonPropertyName("timestamp")]

View File

@@ -34,11 +34,11 @@
public string DeviceSerialNumber { get; set; } = default!;
/// <summary>
/// 获取或设置打卡时间戳。
/// 获取或设置上报时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("checkin_time")]
[System.Text.Json.Serialization.JsonPropertyName("checkin_time")]
public long CheckinTimestamp { get; set; }
public long Timestamp { get; set; }
}
}

View File

@@ -41,21 +41,21 @@
public string DeviceSerialNumber { get; set; } = default!;
/// <summary>
/// 获取或设置测温时间戳。
/// 获取或设置上报时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("timestamp")]
[System.Text.Json.Serialization.JsonPropertyName("timestamp")]
public long Timestamp { get; set; }
/// <summary>
/// 获取或设置测温温度。
/// 获取或设置温度字符串
/// </summary>
[Newtonsoft.Json.JsonProperty("temperature")]
[System.Text.Json.Serialization.JsonPropertyName("temperature")]
public string Temperature { get; set; } = default!;
public string TemperatureString { get; set; } = default!;
/// <summary>
/// 获取或设置状态。
/// 获取或设置温度状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/get_device_secret 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareGetDeviceSecretRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置设备型号凭证。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ModelAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置授权码。
/// </summary>
[Newtonsoft.Json.JsonProperty("auth_code")]
[System.Text.Json.Serialization.JsonPropertyName("auth_code")]
public string AuthCode { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/get_device_secret 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareGetDeviceSecretResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置设备授权密钥。
/// </summary>
[Newtonsoft.Json.JsonProperty("device_secret")]
[System.Text.Json.Serialization.JsonPropertyName("device_secret")]
public string DeviceSecret { get; set; } = default!;
/// <summary>
/// 获取或设置设备接口调用凭证。
/// </summary>
[Newtonsoft.Json.JsonProperty("device_access_token")]
[System.Text.Json.Serialization.JsonPropertyName("device_access_token")]
public string DeviceAccessToken { get; set; } = default!;
/// <summary>
/// 获取或设置设备接口调用凭证有效期(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("expires_in")]
[System.Text.Json.Serialization.JsonPropertyName("expires_in")]
public int ExpiresIn { get; set; }
}
}

View File

@@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/get_device_token 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareGetDeviceTokenRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置设备型号凭证。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ModelAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置设备序列号。
/// </summary>
[Newtonsoft.Json.JsonProperty("device_sn")]
[System.Text.Json.Serialization.JsonPropertyName("device_sn")]
public string DeviceSerialNumber { get; set; } = string.Empty;
/// <summary>
/// 获取或设置设备授权秘钥。
/// </summary>
[Newtonsoft.Json.JsonProperty("device_secret")]
[System.Text.Json.Serialization.JsonPropertyName("device_secret")]
public string DeviceSecret { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/get_device_token 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareGetDeviceTokenResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置设备接口调用凭证。
/// </summary>
[Newtonsoft.Json.JsonProperty("device_access_token")]
[System.Text.Json.Serialization.JsonPropertyName("device_access_token")]
public string DeviceAccessToken { get; set; } = default!;
/// <summary>
/// 获取或设置设备接口调用凭证有效期(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("expires_in")]
[System.Text.Json.Serialization.JsonPropertyName("expires_in")]
public int ExpiresIn { get; set; }
}
}

View File

@@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/get_model_token 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareGetModelTokenRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置设备型号 ID。如果不指定将使用构造 <see cref="WechatWorkClient"/> 时的 <see cref="WechatWorkClientOptions.ModelId"/> 参数。
/// </summary>
[Newtonsoft.Json.JsonProperty("model_id")]
[System.Text.Json.Serialization.JsonPropertyName("model_id")]
public string? ModelId { get; set; }
/// <summary>
/// 获取或设置设备型号 Secret。如果不指定将使用构造 <see cref="WechatWorkClient"/> 时的 <see cref="WechatWorkClientOptions.ModelSecret"/> 参数。
/// </summary>
[Newtonsoft.Json.JsonProperty("model_secret")]
[System.Text.Json.Serialization.JsonPropertyName("model_secret")]
public string? ModelSecret { get; set; }
/// <summary>
/// 获取或设置企业微信后台推送的 Ticket。
/// </summary>
[Newtonsoft.Json.JsonProperty("model_ticket")]
[System.Text.Json.Serialization.JsonPropertyName("model_ticket")]
public string ModelTicket { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/get_model_token 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareGetModelTokenResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置设备型号凭证。
/// </summary>
[Newtonsoft.Json.JsonProperty("model_access_token")]
[System.Text.Json.Serialization.JsonPropertyName("model_access_token")]
public string ModelAccessToken { get; set; } = default!;
/// <summary>
/// 获取或设置设备型号凭证有效期(单位:秒)。
/// </summary>
[Newtonsoft.Json.JsonProperty("expires_in")]
[System.Text.Json.Serialization.JsonPropertyName("expires_in")]
public int ExpiresIn { get; set; }
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/get_device_detail 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareDeviceGetDeviceDetailRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置设备型号凭证。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ModelAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置设备序列号。
/// </summary>
[Newtonsoft.Json.JsonProperty("device_sn")]
[System.Text.Json.Serialization.JsonPropertyName("device_sn")]
public string DeviceSerialNumber { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,83 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/get_device_detail 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareDeviceGetDeviceDetailResponse : WechatWorkResponse
{
public static class Types
{
public class DeviceDetail
{
public static class Types
{
public class BindCorp
{
/// <summary>
/// 获取或设置服务商主体下的密文 CorpId。
/// </summary>
[Newtonsoft.Json.JsonProperty("open_corpid")]
[System.Text.Json.Serialization.JsonPropertyName("open_corpid")]
public string OpenCorpId { get; set; } = default!;
/// <summary>
/// 获取或设置企业名称。
/// </summary>
[Newtonsoft.Json.JsonProperty("corp_name")]
[System.Text.Json.Serialization.JsonPropertyName("corp_name")]
public string Name { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置设备二维码数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("qr_code")]
[System.Text.Json.Serialization.JsonPropertyName("qr_code")]
public string QrcodeData { get; set; } = default!;
/// <summary>
/// 获取或设置设备型号名。
/// </summary>
[Newtonsoft.Json.JsonProperty("model_name")]
[System.Text.Json.Serialization.JsonPropertyName("model_name")]
public string? ModelName { get; set; }
/// <summary>
/// 获取或设置设备出厂名。
/// </summary>
[Newtonsoft.Json.JsonProperty("default_name")]
[System.Text.Json.Serialization.JsonPropertyName("default_name")]
public string? DefaultName { get; set; }
/// <summary>
/// 获取或设置设备备注名。
/// </summary>
[Newtonsoft.Json.JsonProperty("remark_name")]
[System.Text.Json.Serialization.JsonPropertyName("remark_name")]
public string? RemarkName { get; set; }
/// <summary>
/// 获取或设置绑定状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("bind_status")]
[System.Text.Json.Serialization.JsonPropertyName("bind_status")]
public int BindStatus { get; set; }
/// <summary>
/// 获取或设置绑定方企业信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("bind_corpinfo")]
[System.Text.Json.Serialization.JsonPropertyName("bind_corpinfo")]
public Types.BindCorp? BindCorp { get; set; }
}
}
/// <summary>
/// 获取或设置设备详细信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("device_detail")]
[System.Text.Json.Serialization.JsonPropertyName("device_detail")]
public Types.DeviceDetail DeviceDetail { get; set; } = default!;
}
}

View File

@@ -0,0 +1,37 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/get_userinfo_by_ids 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareDeviceGetUserInfoByIdsRequest : WechatWorkRequest
{
public static class Types
{
public class User
{
/// <summary>
/// 获取或设置成员的 OpenUserId。
/// </summary>
[Newtonsoft.Json.JsonProperty("open_userid")]
[System.Text.Json.Serialization.JsonPropertyName("open_userid")]
public string OpenUserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置成员类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_type")]
[System.Text.Json.Serialization.JsonPropertyName("user_type")]
public int UserType { get; set; }
}
}
/// <summary>
/// 获取或设置成员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_item")]
[System.Text.Json.Serialization.JsonPropertyName("user_item")]
public IList<Types.User> Items { get; set; } = new List<Types.User>();
}
}

View File

@@ -0,0 +1,55 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/get_userinfo_by_ids 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareDeviceGetUserInfoByIdsResponse : WechatWorkResponse
{
public static class Types
{
public class UserList
{
/// <summary>
/// 获取或设置成员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("useritems")]
[System.Text.Json.Serialization.JsonPropertyName("useritems")]
public Types.UserItem[] Items { get; set; } = default!;
}
public class UserItem : CgibinOpenHardwareDeviceGetUserInfoByPageResponse.Types.UserItem
{
public static new class Types
{
public class PassRuleList
{
/// <summary>
/// 获取或设置门禁规则列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("rule_list")]
[System.Text.Json.Serialization.JsonPropertyName("rule_list")]
public Types.PassRuleItem[] Items { get; set; } = default!;
}
public class PassRuleItem : CgibinOpenHardwareDeviceGetUserInfoByPageResponse.Types.UserItem.Types.PassRuleItem
{
}
}
/// <summary>
/// 获取或设置门禁规则列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("pass_rule")]
[System.Text.Json.Serialization.JsonPropertyName("pass_rule")]
public new Types.PassRuleList? PassRuleList { get; set; }
}
}
/// <summary>
/// 获取或设置成员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("userinfo")]
[System.Text.Json.Serialization.JsonPropertyName("userinfo")]
public Types.UserList UserList { get; set; } = default!;
}
}

View File

@@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/get_userinfo_by_page 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareDeviceGetUserInfoByPageRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置是否仅获取云端通讯录版本号。
/// </summary>
[Newtonsoft.Json.JsonProperty("only_perm_version")]
[System.Text.Json.Serialization.JsonPropertyName("only_perm_version")]
public bool? RequireOnlyPermVersion { get; set; }
/// <summary>
/// 获取或设置分页每页数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("limit")]
[System.Text.Json.Serialization.JsonPropertyName("limit")]
public int? Limit { get; set; }
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("cursor")]
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
public string? Cursor { get; set; }
}
}

View File

@@ -0,0 +1,110 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/get_userinfo_by_page 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareDeviceGetUserInfoByPageResponse : WechatWorkResponse
{
public static class Types
{
public class UserList
{
/// <summary>
/// 获取或设置用户列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("useritems")]
[System.Text.Json.Serialization.JsonPropertyName("useritems")]
public Types.UserItem[] Items { get; set; } = default!;
}
public class UserItem
{
public static class Types
{
public class PassRuleList
{
/// <summary>
/// 获取或设置门禁规则列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("rule_list")]
[System.Text.Json.Serialization.JsonPropertyName("rule_list")]
public Types.PassRuleItem[] Items { get; set; } = default!;
}
public class PassRuleItem
{
/// <summary>
/// 获取或设置规则 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("id")]
[System.Text.Json.Serialization.JsonPropertyName("id")]
public long RuleId { get; set; }
/// <summary>
/// 获取或设置放行规则。
/// </summary>
[Newtonsoft.Json.JsonProperty("rule")]
[System.Text.Json.Serialization.JsonPropertyName("rule")]
public string Rule { get; set; } = default!;
/// <summary>
/// 获取或设置生效时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("effect_time")]
[System.Text.Json.Serialization.JsonPropertyName("effect_time")]
public long EffectTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置用户的 OpenUserId。
/// </summary>
[Newtonsoft.Json.JsonProperty("open_userid")]
[System.Text.Json.Serialization.JsonPropertyName("open_userid")]
public string OpenUserId { get; set; } = default!;
/// <summary>
/// 获取或设置用户类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_type")]
[System.Text.Json.Serialization.JsonPropertyName("user_type")]
public int UserType { get; set; }
/// <summary>
/// 获取或设置用户名。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_name")]
[System.Text.Json.Serialization.JsonPropertyName("user_name")]
public string UserName { get; set; } = default!;
/// <summary>
/// 获取或设置门禁规则列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("pass_rule")]
[System.Text.Json.Serialization.JsonPropertyName("pass_rule")]
public Types.PassRuleList? PassRuleList { get; set; }
}
}
/// <summary>
/// 获取或设置当前云端通讯录版本号。
/// </summary>
[Newtonsoft.Json.JsonProperty("perm_version")]
[System.Text.Json.Serialization.JsonPropertyName("perm_version")]
public int PermVersion { get; set; }
/// <summary>
/// 获取或设置用户列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("userinfo")]
[System.Text.Json.Serialization.JsonPropertyName("userinfo")]
public Types.UserList UserList { get; set; } = default!;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_cursor")]
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
public string? NextCursor { get; set; }
}
}

View File

@@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_bio_info_result 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportBiometricInfoResultRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置操作 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("oper_id")]
[System.Text.Json.Serialization.JsonPropertyName("oper_id")]
public string OperationId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置识别结果错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("errcode")]
[System.Text.Json.Serialization.JsonPropertyName("errcode")]
public int ErrorCode { get; set; }
/// <summary>
/// 获取或设置识别结果错误描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("errmsg")]
[System.Text.Json.Serialization.JsonPropertyName("errmsg")]
public string? ErrorMessage { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_bio_info_result 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportBiometricInfoResultResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,36 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_device_status 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportDeviceStatusRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置设备在线状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("online_status")]
[System.Text.Json.Serialization.JsonPropertyName("online_status")]
public int OnlineStatus { get; set; }
/// <summary>
/// 获取或设置当前固件版本。
/// </summary>
[Newtonsoft.Json.JsonProperty("cur_version")]
[System.Text.Json.Serialization.JsonPropertyName("cur_version")]
public string? CurrentVersion { get; set; }
/// <summary>
/// 获取或设置可升级固件版本。
/// </summary>
[Newtonsoft.Json.JsonProperty("upgradable_version")]
[System.Text.Json.Serialization.JsonPropertyName("upgradable_version")]
public string? UpgradableVersion { get; set; }
/// <summary>
/// 获取或设置可升级固件版本描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("upgradable_version_desc")]
[System.Text.Json.Serialization.JsonPropertyName("upgradable_version_desc")]
public string? UpgradableVersionDescription { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_device_status 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportDeviceStatusResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,36 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_firmware_upgrade_result 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportFirmwareUpgradeResultRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置操作 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("oper_id")]
[System.Text.Json.Serialization.JsonPropertyName("oper_id")]
public string OperationId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置升级结果错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("errcode")]
[System.Text.Json.Serialization.JsonPropertyName("errcode")]
public int ErrorCode { get; set; }
/// <summary>
/// 获取或设置升级结果错误描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("errmsg")]
[System.Text.Json.Serialization.JsonPropertyName("errmsg")]
public string? ErrorMessage { get; set; }
/// <summary>
/// 获取或设置当前固件版本。
/// </summary>
[Newtonsoft.Json.JsonProperty("cur_version")]
[System.Text.Json.Serialization.JsonPropertyName("cur_version")]
public string? CurrentVersion { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_firmware_upgrade_result 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportFirmwareUpgradeResultResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,36 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_remote_open_result 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportRemoteOpenResultRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置操作 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("oper_id")]
[System.Text.Json.Serialization.JsonPropertyName("oper_id")]
public string OperationId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置上报类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("type")]
[System.Text.Json.Serialization.JsonPropertyName("type")]
public string Type { get; set; } = string.Empty;
/// <summary>
/// 获取或设置识别结果错误码。
/// </summary>
[Newtonsoft.Json.JsonProperty("errcode")]
[System.Text.Json.Serialization.JsonPropertyName("errcode")]
public int ErrorCode { get; set; }
/// <summary>
/// 获取或设置识别结果错误描述。
/// </summary>
[Newtonsoft.Json.JsonProperty("errmsg")]
[System.Text.Json.Serialization.JsonPropertyName("errmsg")]
public string? ErrorMessage { get; set; }
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_remote_open_result 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportRemoteOpenResultResponse : WechatWorkResponse
{
}
}

View File

@@ -0,0 +1,58 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_access_data 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportAccessDataRequest : WechatWorkRequest
{
public static class Types
{
public class AccessData
{
/// <summary>
/// 获取或设置成员的 OpenUserId。
/// </summary>
[Newtonsoft.Json.JsonProperty("open_userid")]
[System.Text.Json.Serialization.JsonPropertyName("open_userid")]
public string OpenUserId { get; set; } = default!;
/// <summary>
/// 获取或设置成员类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_type")]
[System.Text.Json.Serialization.JsonPropertyName("user_type")]
public int UserType { get; set; }
/// <summary>
/// 获取或设置上报时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("timestamp")]
[System.Text.Json.Serialization.JsonPropertyName("timestamp")]
public long Timestamp { get; set; }
/// <summary>
/// 获取或设置通行类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("pass_type")]
[System.Text.Json.Serialization.JsonPropertyName("pass_type")]
public int PassType { get; set; }
/// <summary>
/// 获取或设置通行方法。
/// </summary>
[Newtonsoft.Json.JsonProperty("pass_method")]
[System.Text.Json.Serialization.JsonPropertyName("pass_method")]
public int PassMethod { get; set; }
}
}
/// <summary>
/// 获取或设置门禁通行数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("access_data")]
[System.Text.Json.Serialization.JsonPropertyName("access_data")]
public IList<Types.AccessData> AccessDataList { get; set; } = new List<Types.AccessData>();
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_access_data 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportAccessDataResponse : WechatWorkResponse
{
public static class Types
{
public class AccessData : CgibinOpenHardwareDeviceReportAccessDataRequest.Types.AccessData
{
}
}
/// <summary>
/// 获取或设置上报失败的门禁通行据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("fail_list")]
[System.Text.Json.Serialization.JsonPropertyName("fail_list")]
public Types.AccessData[]? FailedAccessDataList { get; set; }
}
}

View File

@@ -0,0 +1,44 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_checkin_data 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportCheckinDataRequest : WechatWorkRequest
{
public static class Types
{
public class CheckinData
{
/// <summary>
/// 获取或设置成员的 OpenUserId。
/// </summary>
[Newtonsoft.Json.JsonProperty("open_userid")]
[System.Text.Json.Serialization.JsonPropertyName("open_userid")]
public string OpenUserId { get; set; } = default!;
/// <summary>
/// 获取或设置成员类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_type")]
[System.Text.Json.Serialization.JsonPropertyName("user_type")]
public int UserType { get; set; }
/// <summary>
/// 获取或设置上报时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("timestamp")]
[System.Text.Json.Serialization.JsonPropertyName("timestamp")]
public long Timestamp { get; set; }
}
}
/// <summary>
/// 获取或设置打卡数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("checkin_data")]
[System.Text.Json.Serialization.JsonPropertyName("checkin_data")]
public IList<Types.CheckinData> TemperatureDataList { get; set; } = new List<Types.CheckinData>();
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_checkin_data 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportCheckinDataResponse : WechatWorkResponse
{
public static class Types
{
public class CheckinData : CgibinOpenHardwareDeviceReportCheckinDataRequest.Types.CheckinData
{
}
}
/// <summary>
/// 获取或设置上报失败的打卡数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("fail_list")]
[System.Text.Json.Serialization.JsonPropertyName("fail_list")]
public Types.CheckinData[]? FailedCheckinDataList { get; set; }
}
}

View File

@@ -0,0 +1,58 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_temperature_data 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportTemperatureDataRequest : WechatWorkRequest
{
public static class Types
{
public class TemperatureData
{
/// <summary>
/// 获取或设置成员的 OpenUserId。
/// </summary>
[Newtonsoft.Json.JsonProperty("open_userid")]
[System.Text.Json.Serialization.JsonPropertyName("open_userid")]
public string OpenUserId { get; set; } = default!;
/// <summary>
/// 获取或设置成员类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_type")]
[System.Text.Json.Serialization.JsonPropertyName("user_type")]
public int UserType { get; set; }
/// <summary>
/// 获取或设置上报时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("timestamp")]
[System.Text.Json.Serialization.JsonPropertyName("timestamp")]
public long Timestamp { get; set; }
/// <summary>
/// 获取或设置温度字符串。
/// </summary>
[Newtonsoft.Json.JsonProperty("temperature")]
[System.Text.Json.Serialization.JsonPropertyName("temperature")]
public string TemperatureString { get; set; } = string.Empty;
/// <summary>
/// 获取或设置温度状态。
/// </summary>
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public int Status { get; set; }
}
}
/// <summary>
/// 获取或设置测温数据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("temperature_data")]
[System.Text.Json.Serialization.JsonPropertyName("temperature_data")]
public IList<Types.TemperatureData> TemperatureDataList { get; set; } = new List<Types.TemperatureData>();
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/device/report_temperature_data 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareDeviceReportTemperatureDataResponse : WechatWorkResponse
{
public static class Types
{
public class TemperatureData : CgibinOpenHardwareDeviceReportTemperatureDataRequest.Types.TemperatureData
{
}
}
/// <summary>
/// 获取或设置上报失败的测温据列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("fail_list")]
[System.Text.Json.Serialization.JsonPropertyName("fail_list")]
public Types.TemperatureData[]? FailedTemperatureDataList { get; set; }
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/model/register_sn 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareModelRegisterSerialNumberRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置设备型号凭证。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ModelAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置设备序列号。
/// </summary>
[Newtonsoft.Json.JsonProperty("device_sn")]
[System.Text.Json.Serialization.JsonPropertyName("device_sn")]
public string DeviceSerialNumber { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/model/register_sn 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareModelRegisterSerialNumberResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置设备二维码数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("qr_code")]
[System.Text.Json.Serialization.JsonPropertyName("qr_code")]
public string QrcodeData { get; set; } = default!;
}
}

View File

@@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/model/unregister_sn 接口的请求。</para>
/// </summary>
public class CgibinOpenHardwareModelUnregisterSerialNumberRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置设备型号凭证。
/// </summary>
[Newtonsoft.Json.JsonIgnore]
[System.Text.Json.Serialization.JsonIgnore]
public string ModelAccessToken { get; set; } = string.Empty;
/// <summary>
/// 获取或设置设备序列号。
/// </summary>
[Newtonsoft.Json.JsonProperty("device_sn")]
[System.Text.Json.Serialization.JsonPropertyName("device_sn")]
public string DeviceSerialNumber { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,9 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/openhw/model/unregister_sn 接口的响应。</para>
/// </summary>
public class CgibinOpenHardwareModelUnregisterSerialNumberResponse : WechatWorkResponse
{
}
}

View File

@@ -5,5 +5,18 @@
/// </summary>
public class CgibinServiceGetProviderTokenRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置企业微信 CorpId。如果不指定将使用构造 <see cref="WechatWorkClient"/> 时的 <see cref="WechatWorkClientOptions.CorpId"/> 参数。
/// </summary>
[Newtonsoft.Json.JsonProperty("corpid")]
[System.Text.Json.Serialization.JsonPropertyName("corpid")]
public string? CorpId { get; set; }
/// <summary>
/// 获取或设置企业微信服务商 Secret。如果不指定将使用构造 <see cref="WechatWorkClient"/> 时的 <see cref="WechatWorkClientOptions.ProviderSecret"/> 参数。
/// </summary>
[Newtonsoft.Json.JsonProperty("provider_secret")]
[System.Text.Json.Serialization.JsonPropertyName("provider_secret")]
public string? ProviderSecret { get; set; }
}
}

View File

@@ -6,7 +6,7 @@
public class CgibinServiceCorpIdToOpenCorpIdResponse : WechatWorkResponse
{
/// <summary>
/// 获取或设置服务商主体下的密文 CorpId。
/// 获取或设置服务商主体下的密文 CorpId。
/// </summary>
[Newtonsoft.Json.JsonProperty("open_corpid")]
[System.Text.Json.Serialization.JsonPropertyName("open_corpid")]