mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-09-20 02:29:40 +08:00
feat(work): 新增安全管理获取操作日志相关接口
This commit is contained in:
@@ -9,6 +9,29 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
|
|||||||
{
|
{
|
||||||
public static class WechatWorkClientExecuteCgibinSecurityExtensions
|
public static class WechatWorkClientExecuteCgibinSecurityExtensions
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [GET] /cgi-bin/security/get_server_domain_ip 接口。</para>
|
||||||
|
/// <para>
|
||||||
|
/// REF: <br/>
|
||||||
|
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/93221 ]]>
|
||||||
|
/// </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.CgibinSecurityGetServerDomainIpResponse> ExecuteCgibinSecurityGetServerDomainIpAsync(this WechatWorkClient client, Models.CgibinSecurityGetServerDomainIpRequest 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.Get, "cgi-bin", "security", "get_server_domain_ip")
|
||||||
|
.SetQueryParam("access_token", request.AccessToken);
|
||||||
|
|
||||||
|
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityGetServerDomainIpResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// <para>异步调用 [POST] /cgi-bin/security/get_file_oper_record 接口。</para>
|
/// <para>异步调用 [POST] /cgi-bin/security/get_file_oper_record 接口。</para>
|
||||||
/// <para>
|
/// <para>
|
||||||
@@ -33,26 +56,72 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// <para>异步调用 [GET] /cgi-bin/security/get_server_domain_ip 接口。</para>
|
/// <para>异步调用 [POST] /cgi-bin/security/get_screen_oper_record 接口。</para>
|
||||||
/// <para>
|
/// <para>
|
||||||
/// REF: <br/>
|
/// REF: <br/>
|
||||||
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/93221 ]]>
|
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/100128 ]]>
|
||||||
/// </para>
|
/// </para>
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="client"></param>
|
/// <param name="client"></param>
|
||||||
/// <param name="request"></param>
|
/// <param name="request"></param>
|
||||||
/// <param name="cancellationToken"></param>
|
/// <param name="cancellationToken"></param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static async Task<Models.CgibinSecurityGetServerDomainIpResponse> ExecuteCgibinSecurityGetServerDomainIpAsync(this WechatWorkClient client, Models.CgibinSecurityGetServerDomainIpRequest request, CancellationToken cancellationToken = default)
|
public static async Task<Models.CgibinSecurityGetScreenOperateRecordResponse> ExecuteCgibinSecurityGetScreenOperateRecordAsync(this WechatWorkClient client, Models.CgibinSecurityGetScreenOperateRecordRequest request, CancellationToken cancellationToken = default)
|
||||||
{
|
{
|
||||||
if (client is null) throw new ArgumentNullException(nameof(client));
|
if (client is null) throw new ArgumentNullException(nameof(client));
|
||||||
if (request is null) throw new ArgumentNullException(nameof(request));
|
if (request is null) throw new ArgumentNullException(nameof(request));
|
||||||
|
|
||||||
IFlurlRequest flurlReq = client
|
IFlurlRequest flurlReq = client
|
||||||
.CreateFlurlRequest(request, HttpMethod.Get, "cgi-bin", "security", "get_server_domain_ip")
|
.CreateFlurlRequest(request, HttpMethod.Post, "cgi-bin", "security", "get_screen_oper_record")
|
||||||
.SetQueryParam("access_token", request.AccessToken);
|
.SetQueryParam("access_token", request.AccessToken);
|
||||||
|
|
||||||
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityGetServerDomainIpResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityGetScreenOperateRecordResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /cgi-bin/security/member_oper_log/list 接口。</para>
|
||||||
|
/// <para>
|
||||||
|
/// REF: <br/>
|
||||||
|
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/100178 ]]>
|
||||||
|
/// </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.CgibinSecurityMemberOperateLogListResponse> ExecuteCgibinSecurityMemberOperateLogListAsync(this WechatWorkClient client, Models.CgibinSecurityMemberOperateLogListRequest 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", "member_oper_log", "list")
|
||||||
|
.SetQueryParam("access_token", request.AccessToken);
|
||||||
|
|
||||||
|
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityMemberOperateLogListResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// <para>异步调用 [POST] /cgi-bin/security/admin_oper_log/list 接口。</para>
|
||||||
|
/// <para>
|
||||||
|
/// REF: <br/>
|
||||||
|
/// <![CDATA[ https://developer.work.weixin.qq.com/document/path/100179 ]]>
|
||||||
|
/// </para>
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="client"></param>
|
||||||
|
/// <param name="request"></param>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static async Task<Models.CgibinSecurityAdministratorOperateLogListResponse> ExecuteCgibinSecurityAdministratorOperateLogListAsync(this WechatWorkClient client, Models.CgibinSecurityAdministratorOperateLogListRequest 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", "admin_oper_log", "list")
|
||||||
|
.SetQueryParam("access_token", request.AccessToken);
|
||||||
|
|
||||||
|
return await client.SendFlurlRequestAsJsonAsync<Models.CgibinSecurityAdministratorOperateLogListResponse>(flurlReq, data: request, cancellationToken: cancellationToken).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
#region TrustDevice
|
#region TrustDevice
|
||||||
|
@@ -0,0 +1,50 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/admin_oper_log/list 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityAdministratorOperateLogListRequest : WechatWorkRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置开始时间戳。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("start_time")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("start_time")]
|
||||||
|
public long StartTimestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置结束时间戳。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("end_time")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("end_time")]
|
||||||
|
public long EndTimestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作者 UserId。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("userid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("userid")]
|
||||||
|
public string? UserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作类型。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("oper_type")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("oper_type")]
|
||||||
|
public int? OperateType { 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; }
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,77 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/admin_oper_log/list 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityAdministratorOperateLogListResponse : WechatWorkResponse
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class Record
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作者 UserId。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("userid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("userid")]
|
||||||
|
public string UserId { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作类型。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("oper_type")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("oper_type")]
|
||||||
|
public int OperateType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置时间戳。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("time")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("time")]
|
||||||
|
public long Timestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作行为类型。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("detail_type")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("detail_type")]
|
||||||
|
public int DetailType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置相关数据。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("detail_info")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("detail_info")]
|
||||||
|
public string? DetailInfo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作者 IP。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("ip")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("ip")]
|
||||||
|
public string? Ip { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作记录列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("record_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("record_list")]
|
||||||
|
public Types.Record[] RecordList { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置是否还有更多数据。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("has_more")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("has_more")]
|
||||||
|
public bool HasMore { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置翻页标记。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("next_cursor")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
|
||||||
|
public string? NextCursor { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,59 @@
|
|||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/get_screen_oper_record 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityGetScreenOperateRecordRequest : WechatWorkRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置开始时间戳。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("start_time")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("start_time")]
|
||||||
|
public long StartTimestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置结束时间戳。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("end_time")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("end_time")]
|
||||||
|
public long EndTimestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作者 UserId 列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("userid_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("userid_list")]
|
||||||
|
public IList<string>? UserIdList { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作者部门 ID 列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("department_id_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("department_id_list")]
|
||||||
|
public IList<long>? DepartmentIdList { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置截屏内容类型。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("screen_shot_type")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("screen_shot_type")]
|
||||||
|
public int? ScreenshotType { 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; }
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,77 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/get_screen_oper_record 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityGetScreenOperateRecordResponse : WechatWorkResponse
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class Record
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作者 UserId。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("userid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("userid")]
|
||||||
|
public string UserId { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作者部门 ID。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("department_id")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("department_id")]
|
||||||
|
public long DepartmentId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置截屏内容类型。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("screen_shot_type")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("screen_shot_type")]
|
||||||
|
public int ScreenshotType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置截屏内容。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("screen_shot_content")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("screen_shot_content")]
|
||||||
|
public string ScreenshotContent { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置时间戳。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("time")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("time")]
|
||||||
|
public long Timestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置用户的操作系统。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("system")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("system")]
|
||||||
|
public string? System { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作记录列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("record_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("record_list")]
|
||||||
|
public Types.Record[] RecordList { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置是否还有更多数据。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("has_more")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("has_more")]
|
||||||
|
public bool HasMore { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置翻页标记。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("next_cursor")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
|
||||||
|
public string? NextCursor { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,50 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/member_oper_log/list 接口的请求。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityMemberOperateLogListRequest : WechatWorkRequest
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置开始时间戳。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("start_time")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("start_time")]
|
||||||
|
public long StartTimestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置结束时间戳。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("end_time")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("end_time")]
|
||||||
|
public long EndTimestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作者 UserId。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("userid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("userid")]
|
||||||
|
public string? UserId { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作类型。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("oper_type")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("oper_type")]
|
||||||
|
public int? OperateType { 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; }
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,70 @@
|
|||||||
|
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// <para>表示 [POST] /cgi-bin/security/member_oper_log/list 接口的响应。</para>
|
||||||
|
/// </summary>
|
||||||
|
public class CgibinSecurityMemberOperateLogListResponse : WechatWorkResponse
|
||||||
|
{
|
||||||
|
public static class Types
|
||||||
|
{
|
||||||
|
public class Record
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作者 UserId。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("userid")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("userid")]
|
||||||
|
public string UserId { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作类型。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("oper_type")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("oper_type")]
|
||||||
|
public int OperateType { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置时间戳。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("time")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("time")]
|
||||||
|
public long Timestamp { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置相关数据。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("detail_info")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("detail_info")]
|
||||||
|
public string? DetailInfo { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作者 IP。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("ip")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("ip")]
|
||||||
|
public string? Ip { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置操作记录列表。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("record_list")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("record_list")]
|
||||||
|
public Types.Record[] RecordList { get; set; } = default!;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置是否还有更多数据。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("has_more")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("has_more")]
|
||||||
|
public bool HasMore { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 获取或设置翻页标记。
|
||||||
|
/// </summary>
|
||||||
|
[Newtonsoft.Json.JsonProperty("next_cursor")]
|
||||||
|
[System.Text.Json.Serialization.JsonPropertyName("next_cursor")]
|
||||||
|
public string? NextCursor { get; set; }
|
||||||
|
}
|
||||||
|
}
|
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"start_time": 1724256000,
|
||||||
|
"end_time": 1724860799,
|
||||||
|
"oper_type": 1,
|
||||||
|
"userid": "sam",
|
||||||
|
"cursor": "xxxxx",
|
||||||
|
"limit": 2
|
||||||
|
}
|
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"errcode": 0,
|
||||||
|
"errmsg": "ok",
|
||||||
|
"has_more": true,
|
||||||
|
"next_cursor": "xxxx",
|
||||||
|
"record_list": [
|
||||||
|
{
|
||||||
|
"time": 1724256000,
|
||||||
|
"userid": "sam",
|
||||||
|
"oper_type": 1,
|
||||||
|
"detail_type": 2,
|
||||||
|
"detail_info": "姓名:shel;手机号:15622244106",
|
||||||
|
"ip": "183.40.88.11"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time": 1724256400,
|
||||||
|
"userid": "sam",
|
||||||
|
"oper_type": 1,
|
||||||
|
"detail_type": 2,
|
||||||
|
"detail_info": "姓名:abel;手机号:15622244108",
|
||||||
|
"ip": "61.40.122.129"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"start_time": 166666666,
|
||||||
|
"end_time": 166666667,
|
||||||
|
"userid_list": [ "zhangsan", "lisi" ],
|
||||||
|
"department_id_list": [ 2, 3 ],
|
||||||
|
"screen_shot_type": 1,
|
||||||
|
"cursor": "ngLgjieajgieo",
|
||||||
|
"limit": 100
|
||||||
|
}
|
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"errcode": 0,
|
||||||
|
"errmsg": "ok",
|
||||||
|
"has_more": true,
|
||||||
|
"next_cursor": "gejMjgLjgeigoejg",
|
||||||
|
"record_list": [
|
||||||
|
{
|
||||||
|
"time": 16666666666,
|
||||||
|
"userid": "zhangsan",
|
||||||
|
"department_id": 2,
|
||||||
|
"screen_shot_type": 1,
|
||||||
|
"screen_shot_content": "聊天",
|
||||||
|
"system": "iPad"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time": 16666666666,
|
||||||
|
"userid": "lisi",
|
||||||
|
"department_id": 3,
|
||||||
|
"screen_shot_type": 4,
|
||||||
|
"screen_shot_content": "文件(防泄露文件:test.pdf)",
|
||||||
|
"system": "iOS"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
"start_time": 1724256000,
|
||||||
|
"end_time": 1724860799,
|
||||||
|
"oper_type": 1,
|
||||||
|
"userid": "sam",
|
||||||
|
"cursor": "xxxxx",
|
||||||
|
"limit": 2
|
||||||
|
}
|
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"errcode": 0,
|
||||||
|
"errmsg": "ok",
|
||||||
|
"has_more": true,
|
||||||
|
"next_cursor": "xxxxxx",
|
||||||
|
"record_list": [
|
||||||
|
{
|
||||||
|
"time": 1724256000,
|
||||||
|
"userid": "sam",
|
||||||
|
"oper_type": 1,
|
||||||
|
"detail_info": "姓名:shel;手机号:15622244106",
|
||||||
|
"ip": "183.40.88.*"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"time": 1724256400,
|
||||||
|
"userid": "sam",
|
||||||
|
"oper_type": 1,
|
||||||
|
"detail_info": "姓名:abel;手机号:15622244108",
|
||||||
|
"ip": "61.40.122.*"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Reference in New Issue
Block a user