mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-09-23 04:23:47 +08:00
feat(work): 新增可信设备管理相关接口
This commit is contained in:
@@ -32,6 +32,146 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
|
|||||||
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityGetFileOperateRecordResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityGetFileOperateRecordResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region TrustDevice
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /cgi-bin/security/trustdevice/import 接口。</para>
|
||||||
|
/// <para>
|
||||||
|
/// REF: <br/>
|
||||||
|
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/98920 ]]>
|
||||||
|
/// </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.CgibinSecurityTrustDeviceImportResponse> ExecuteCgibinSecurityTrustDeviceImportAsync(this WechatWorkClient client, Models.CgibinSecurityTrustDeviceImportRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "security", "trustdevice", "import")
|
||||||
|
.SetQueryParam("access_token", request.AccessToken);
|
||||||
|
|
||||||
|
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityTrustDeviceImportResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /cgi-bin/security/trustdevice/list 接口。</para>
|
||||||
|
/// <para>
|
||||||
|
/// REF: <br/>
|
||||||
|
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/98920 ]]>
|
||||||
|
/// </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.CgibinSecurityTrustDeviceListResponse> ExecuteCgibinSecurityTrustDeviceListAsync(this WechatWorkClient client, Models.CgibinSecurityTrustDeviceListRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "security", "trustdevice", "list")
|
||||||
|
.SetQueryParam("access_token", request.AccessToken);
|
||||||
|
|
||||||
|
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityTrustDeviceListResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /cgi-bin/security/trustdevice/get_by_user 接口。</para>
|
||||||
|
/// <para>
|
||||||
|
/// REF: <br/>
|
||||||
|
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/98920 ]]>
|
||||||
|
/// </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.CgibinSecurityTrustDeviceGetByUserResponse> ExecuteCgibinSecurityTrustDeviceGetByUserAsync(this WechatWorkClient client, Models.CgibinSecurityTrustDeviceGetByUserRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "security", "trustdevice", "get_by_user")
|
||||||
|
.SetQueryParam("access_token", request.AccessToken);
|
||||||
|
|
||||||
|
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityTrustDeviceGetByUserResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /cgi-bin/security/trustdevice/delete 接口。</para>
|
||||||
|
/// <para>
|
||||||
|
/// REF: <br/>
|
||||||
|
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/98920 ]]>
|
||||||
|
/// </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.CgibinSecurityTrustDeviceDeleteResponse> ExecuteCgibinSecurityTrustDeviceDeleteAsync(this WechatWorkClient client, Models.CgibinSecurityTrustDeviceDeleteRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "security", "trustdevice", "delete")
|
||||||
|
.SetQueryParam("access_token", request.AccessToken);
|
||||||
|
|
||||||
|
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityTrustDeviceDeleteResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /cgi-bin/security/trustdevice/approve 接口。</para>
|
||||||
|
/// <para>
|
||||||
|
/// REF: <br/>
|
||||||
|
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/98920 ]]>
|
||||||
|
/// </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.CgibinSecurityTrustDeviceApproveResponse> ExecuteCgibinSecurityTrustDeviceApproveAsync(this WechatWorkClient client, Models.CgibinSecurityTrustDeviceApproveRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "security", "trustdevice", "approve")
|
||||||
|
.SetQueryParam("access_token", request.AccessToken);
|
||||||
|
|
||||||
|
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityTrustDeviceApproveResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /cgi-bin/security/trustdevice/reject 接口。</para>
|
||||||
|
/// <para>
|
||||||
|
/// REF: <br/>
|
||||||
|
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/98920 ]]>
|
||||||
|
/// </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.CgibinSecurityTrustDeviceRejectResponse> ExecuteCgibinSecurityTrustDeviceRejectAsync(this WechatWorkClient client, Models.CgibinSecurityTrustDeviceRejectRequest request, CancellationToken cancellationToken = default)
|
||||||
|
{
|
||||||
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
|
IFlurlRequest flurlReq = client
|
||||||
|
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "security", "trustdevice", "reject")
|
||||||
|
.SetQueryParam("access_token", request.AccessToken);
|
||||||
|
|
||||||
|
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityTrustDeviceRejectResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
#region Vip
|
#region Vip
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// <para>异步调用 [POST] /cgi-bin/security/vip/submit_batch_add_job 接口。</para>
|
/// <para>异步调用 [POST] /cgi-bin/security/vip/submit_batch_add_job 接口。</para>
|
||||||
|
@@ -0,0 +1,17 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/approve 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceApproveRequest : WechatWorkRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备唯一标识列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("device_code_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("device_code_list")]
|
||||||
|
public IList<string> DeviceCodeList { get; set; } = new List<string>();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,22 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/approve 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceApproveResponse : WechatWorkResponse
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作成功的设备唯一标识列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("success_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("success_list")]
|
||||||
|
public string[]? SucceededDeviceCodeList { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作失败的设备唯一标识列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("fail_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("fail_list")]
|
||||||
|
public string[]? FailedDeviceCodeList { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,24 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/delete 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceDeleteRequest : WechatWorkRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备类型。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("type")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||||
|
public int Type { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备唯一标识列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("device_code_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("device_code_list")]
|
||||||
|
public IList<string> DeviceCodeList { get; set; } = new List<string>();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,9 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/delete 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceDeleteResponse : WechatWorkResponse
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,22 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/get_by_user 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceGetByUserRequest : WechatWorkRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备类型。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("type")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||||
|
public int Type { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置最后登录成员账号。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("last_login_userid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("last_login_userid")]
|
||||||
|
public string LastLoginUserId { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,22 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/get_by_user 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceGetByUserResponse : WechatWorkResponse
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class Device : CgibinSecurityTrustDeviceListResponse.Types.Device
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("device_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("device_list")]
|
||||||
|
public Types.Device[] DeviceList { get; set; } = default!;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,72 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/import 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceImportRequest : WechatWorkRequest
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class Device
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备系统。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("system")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("system")]
|
||||||
|
public string System { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置 MAC 地址列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("mac_addr")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("mac_addr")]
|
||||||
|
public IList<string>? MacAddressList { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置主板 UUID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("motherboard_uuid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("motherboard_uuid")]
|
||||||
|
public string? MotherboardUUID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置硬盘 UUID 列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("harddisk_uuid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("harddisk_uuid")]
|
||||||
|
public IList<string>? HardDistUUIDList { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置域名。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("domain")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("domain")]
|
||||||
|
public string? Domain { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置计算机名。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("pc_name")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("pc_name")]
|
||||||
|
public string? PCName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置序列号。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("seq_no")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("seq_no")]
|
||||||
|
public string? SequenceNumber { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("device_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("device_list")]
|
||||||
|
public IList<Types.Device> DeviceList { get; set; } = new List<Types.Device>();
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,49 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/import 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceImportResponse : WechatWorkResponse
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class Result
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置导入设备记录的顺序。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("device_index")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("device_index")]
|
||||||
|
public int DeviceIndex { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备的唯一标识。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("device_code")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("device_code")]
|
||||||
|
public string? DeviceCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置冲突设备的唯一标识。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("duplicated_device_code")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("duplicated_device_code")]
|
||||||
|
public string? DuplicatedDeviceCode { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置导入结果。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("status")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("status")]
|
||||||
|
public int Status { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置结果列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("result")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("result")]
|
||||||
|
public Types.Result[] ResultList { get; set; } = default!;
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,29 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/list 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceListRequest : WechatWorkRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备类型。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("type")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("type")]
|
||||||
|
public int Type { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置分页游标。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("cursor")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
|
||||||
|
public string? Cursor { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置分页每页数量。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("limit")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("limit")]
|
||||||
|
public int? Limit { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,133 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/list 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceListResponse : WechatWorkResponse
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class Device
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备的唯一标识。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("device_code")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("device_code")]
|
||||||
|
public string DeviceCode { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备系统。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("system")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("system")]
|
||||||
|
public string System { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置 MAC 地址列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("mac_addr")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("mac_addr")]
|
||||||
|
public string[]? MacAddressList { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置主板 UUID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("motherboard_uuid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("motherboard_uuid")]
|
||||||
|
public string? MotherboardUUID { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置硬盘 UUID 列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("harddisk_uuid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("harddisk_uuid")]
|
||||||
|
public string[]? HarddistUUIDList { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置域名。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("domain")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("domain")]
|
||||||
|
public string? Domain { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置计算机名。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("pc_name")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("pc_name")]
|
||||||
|
public string? PCName { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置序列号。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("seq_no")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("seq_no")]
|
||||||
|
public string? SequenceNumber { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置最后登录时间戳。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("last_login_time")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("last_login_time")]
|
||||||
|
public long? LastLoginTimestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置最后登录成员账号。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("last_login_userid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("last_login_userid")]
|
||||||
|
public string? LastLoginUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置归属确认时间戳。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("confirm_timestamp")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("confirm_timestamp")]
|
||||||
|
public long? ConfirmTimestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置归属确认成员账号。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("confirm_userid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("confirm_userid")]
|
||||||
|
public string? ConfirmUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置通过申报的管理员成员账号。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("approved_userid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("approved_userid")]
|
||||||
|
public string? ApprovedUserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备来源。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("source")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("source")]
|
||||||
|
public int Source { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置导入结果。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("status")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("status")]
|
||||||
|
public int Status { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置设备列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("device_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("device_list")]
|
||||||
|
public Types.Device[] DeviceList { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置分页游标。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("next_cursor")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
|
||||||
|
public string? NextCursor { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,9 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/reject 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceRejectRequest : CgibinSecurityTrustDeviceApproveRequest
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,9 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/trustdevice/reject 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityTrustDeviceRejectResponse : CgibinSecurityTrustDeviceApproveResponse
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"device_code_list": [
|
||||||
|
"49nNtYq",
|
||||||
|
"rjDTnOh"
|
||||||
|
]
|
||||||
|
}
|
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"errcode": 0,
|
||||||
|
"errmsg": "ok",
|
||||||
|
"success_list": [ "49nNtYq" ],
|
||||||
|
"fail_list": [ "rjDTnOh" ]
|
||||||
|
}
|
@@ -0,0 +1,7 @@
|
|||||||
|
{
|
||||||
|
"type": 1,
|
||||||
|
"device_code_list": [
|
||||||
|
"49nNtYq",
|
||||||
|
"rjDTnOh"
|
||||||
|
]
|
||||||
|
}
|
@@ -0,0 +1,4 @@
|
|||||||
|
{
|
||||||
|
"last_login_userid": "zhangsan",
|
||||||
|
"type": 1
|
||||||
|
}
|
@@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"errcode": 0,
|
||||||
|
"errmsg": "ok",
|
||||||
|
"device_list": [
|
||||||
|
{
|
||||||
|
"device_code": "49nNtYq",
|
||||||
|
"system": "Windows",
|
||||||
|
"mac_addr": [
|
||||||
|
"50:81:40:29:33:CA"
|
||||||
|
],
|
||||||
|
"motherboard_uuid": "MB_UUID",
|
||||||
|
"harddisk_uuid": [
|
||||||
|
"HD_UUID1"
|
||||||
|
],
|
||||||
|
"domain": "WINDOWS_DOMAIN",
|
||||||
|
"pc_name": "PC_001",
|
||||||
|
"last_login_time": 1681722163,
|
||||||
|
"last_login_userid": "lisi",
|
||||||
|
"confirm_timestamp": 1681722163,
|
||||||
|
"confirm_userid": "lisi",
|
||||||
|
"approved_userid": "zhangsan",
|
||||||
|
"source": 3,
|
||||||
|
"status": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"device_code": "rjDTnOh",
|
||||||
|
"system": "Mac",
|
||||||
|
"seq_no": "SEQ_NO1",
|
||||||
|
"mac_addr": [
|
||||||
|
"50:81:40:29:33:CA"
|
||||||
|
],
|
||||||
|
"source": 1,
|
||||||
|
"status": 5
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"device_list": [
|
||||||
|
{
|
||||||
|
"system": "Windows",
|
||||||
|
"mac_addr": [
|
||||||
|
"50:81:40:29:33:CA",
|
||||||
|
"36:27:51:DF:6E:80"
|
||||||
|
],
|
||||||
|
"motherboard_uuid": "MB_UUID",
|
||||||
|
"harddisk_uuid": [
|
||||||
|
"HD_UUID1",
|
||||||
|
"HD_UUID2"
|
||||||
|
],
|
||||||
|
"domain": "WINDOWS_DOMAIN",
|
||||||
|
"pc_name": "PC_001"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"system": "Mac",
|
||||||
|
"seq_no": "SEQ_NO",
|
||||||
|
"mac_addr": [
|
||||||
|
"81:40:50:29:33:DB"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"errcode": 0,
|
||||||
|
"errmsg": "ok",
|
||||||
|
"result": [
|
||||||
|
{
|
||||||
|
"device_index": 1,
|
||||||
|
"device_code": "49nNtYq",
|
||||||
|
"status": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"device_index": 2,
|
||||||
|
"duplicated_device_code": "49nNtYq",
|
||||||
|
"status": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"device_index": 3,
|
||||||
|
"status": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"cursor": "CURSOR",
|
||||||
|
"limit": 100,
|
||||||
|
"type": 1
|
||||||
|
}
|
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"errcode": 0,
|
||||||
|
"errmsg": "ok",
|
||||||
|
"device_list": [
|
||||||
|
{
|
||||||
|
"device_code": "49nNtYq",
|
||||||
|
"system": "Windows",
|
||||||
|
"mac_addr": [
|
||||||
|
"50:81:40:29:33:CA"
|
||||||
|
],
|
||||||
|
"motherboard_uuid": "MB_UUID",
|
||||||
|
"harddisk_uuid": [
|
||||||
|
"HD_UUID1"
|
||||||
|
],
|
||||||
|
"domain": "WINDOWS_DOMAIN",
|
||||||
|
"pc_name": "PC_001",
|
||||||
|
"last_login_time": 1681722163,
|
||||||
|
"last_login_userid": "lisi",
|
||||||
|
"confirm_timestamp": 1681722163,
|
||||||
|
"confirm_userid": "lisi",
|
||||||
|
"approved_userid": "zhangsan",
|
||||||
|
"source": 3,
|
||||||
|
"status": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"device_code": "rjDTnOh",
|
||||||
|
"system": "Mac",
|
||||||
|
"seq_no": "SEQ_NO1",
|
||||||
|
"mac_addr": [
|
||||||
|
"50:81:40:29:33:CA"
|
||||||
|
],
|
||||||
|
"source": 1,
|
||||||
|
"status": 5
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"next_cursor": "CURSOR"
|
||||||
|
}
|
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"device_code_list": [
|
||||||
|
"49nNtYq",
|
||||||
|
"rjDTnOh"
|
||||||
|
]
|
||||||
|
}
|
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
"errcode": 0,
|
||||||
|
"errmsg": "ok",
|
||||||
|
"success_list": [ "49nNtYq" ],
|
||||||
|
"fail_list": [ "rjDTnOh" ]
|
||||||
|
}
|
Reference in New Issue
Block a user