feat(work): 新增预约会议高级管理相关接口

This commit is contained in:
Fu Diwei 2023-06-14 20:53:30 +08:00
parent 5dc57fcc6a
commit 23e7b62fa6
48 changed files with 1527 additions and 1 deletions

View File

@ -113,5 +113,245 @@ namespace SKIT.FlurlHttpClient.Wechat.Work
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingGetUserMeetingIdResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/get_invitees 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/98160 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingGetInviteesResponse> ExecuteCgibinMeetingGetInviteesAsync(this WechatWorkClient client, Models.CgibinMeetingGetInviteesRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "get_invitees")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingGetInviteesResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/set_invitees 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/98162 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingSetInviteesResponse> ExecuteCgibinMeetingSetInviteesAsync(this WechatWorkClient client, Models.CgibinMeetingSetInviteesRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "set_invitees")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingSetInviteesResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/create_customer_short_url 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/98818 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingCreateCustomerShortUrlResponse> ExecuteCgibinMeetingCreateCustomerShortUrlAsync(this WechatWorkClient client, Models.CgibinMeetingCreateCustomerShortUrlRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "create_customer_short_url")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingCreateCustomerShortUrlResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/get_customer_short_url 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/98819 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingGetCustomerShortUrlResponse> ExecuteCgibinMeetingGetCustomerShortUrlAsync(this WechatWorkClient client, Models.CgibinMeetingGetCustomerShortUrlRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "get_customer_short_url")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingGetCustomerShortUrlResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/get_realtime_attendee_list 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/98157 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingGetRealtimeAttendeeListResponse> ExecuteCgibinMeetingGetRealtimeAttendeeListAsync(this WechatWorkClient client, Models.CgibinMeetingGetRealtimeAttendeeListRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "get_realtime_attendee_list")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingGetRealtimeAttendeeListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/get_attendee_list 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/98156 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingGetAttendeeListResponse> ExecuteCgibinMeetingGetAttendeeListAsync(this WechatWorkClient client, Models.CgibinMeetingGetAttendeeListRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "get_attendee_list")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingGetAttendeeListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/waitingroom/get_current_user_list 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/98163 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingWaitingRoomGetCurrentUserListResponse> ExecuteCgibinMeetingWaitingRoomGetCurrentUserListAsync(this WechatWorkClient client, Models.CgibinMeetingWaitingRoomGetCurrentUserListRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "waitingroom", "get_current_user_list")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingWaitingRoomGetCurrentUserListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/waitingroom/get_user_list 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/98164 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingWaitingRoomGetUserListResponse> ExecuteCgibinMeetingWaitingRoomGetUserListAsync(this WechatWorkClient client, Models.CgibinMeetingWaitingRoomGetUserListRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "waitingroom", "get_user_list")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingWaitingRoomGetUserListResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/check_device_in_meeting 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/98164 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingCheckDeviceInMeetingResponse> ExecuteCgibinMeetingCheckDeviceInMeetingAsync(this WechatWorkClient client, Models.CgibinMeetingCheckDeviceInMeetingRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "check_device_in_meeting")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingCheckDeviceInMeetingResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/get_guests 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/99039 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingGetGuestsResponse> ExecuteCgibinMeetingGetGuestsAsync(this WechatWorkClient client, Models.CgibinMeetingGetGuestsRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "get_guests")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingGetGuestsResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/set_guests 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/99040 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingSetGuestsResponse> ExecuteCgibinMeetingSetGuestsAsync(this WechatWorkClient client, Models.CgibinMeetingSetGuestsRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "set_guests")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingSetGuestsResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
/// <summary>
/// <para>异步调用 [POST] /cgi-bin/meeting/get_quality 接口。</para>
/// <para>REF: https://developer.work.weixin.qq.com/document/path/98821 </para>
/// </summary>
/// <param name="client"></param>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public static async Task<Models.CgibinMeetingGetQualityResponse> ExecuteCgibinMeetingGetQualityAsync(this WechatWorkClient client, Models.CgibinMeetingGetQualityRequest 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
.CreateRequest(request, HttpMethod.Post, "cgi-bin", "meeting", "get_quality")
.SetQueryParam("access_token", request.AccessToken);
return await client.SendRequestWithJsonAsync<Models.CgibinMeetingGetQualityResponse>(flurlReq, data: request, cancellationToken: cancellationToken);
}
}
}

View File

@ -13,7 +13,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models
public string MeetingId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置周期性子会议 ID。
/// 获取或设置子会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("sub_meetingid")]

View File

@ -0,0 +1,31 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/check_device_in_meeting 接口的请求。</para>
/// </summary>
public class CgibinMeetingCheckDeviceInMeetingRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置用户成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置终端设备类型列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("instance_id_list")]
[System.Text.Json.Serialization.JsonPropertyName("instance_id_list")]
public IList<int>? InstanceIdList { get; set; }
/// <summary>
/// 获取或设置会议 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid_list")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid_list")]
public IList<string>? MeetingIdList { get; set; }
}
}

View File

@ -0,0 +1,35 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/check_device_in_meeting 接口的响应。</para>
/// </summary>
public class CgibinMeetingCheckDeviceInMeetingResponse : WechatWorkResponse
{
public static class Types
{
public class Result
{
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = default!;
/// <summary>
/// 获取或设置终端设备类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("instance_id")]
[System.Text.Json.Serialization.JsonPropertyName("instance_id")]
public int InstanceId { get; set; }
}
}
/// <summary>
/// 获取或设置结果列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("result_list")]
[System.Text.Json.Serialization.JsonPropertyName("result_list")]
public Types.Result[] ResultList { get; set; } = default!;
}
}

View File

@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/create_customer_short_url 接口的请求。</para>
/// </summary>
public class CgibinMeetingCreateCustomerShortUrlRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置用户自定义数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("customer_data")]
[System.Text.Json.Serialization.JsonPropertyName("customer_data")]
public string CustomData { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,35 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/create_customer_short_url 接口的响应。</para>
/// </summary>
public class CgibinMeetingCreateCustomerShortUrlResponse : WechatWorkResponse
{
public static class Types
{
public class Data
{
/// <summary>
/// 获取或设置用户专属参会链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("meeting_short_url")]
[System.Text.Json.Serialization.JsonPropertyName("meeting_short_url")]
public string MeetingShortUrl { get; set; } = default!;
/// <summary>
/// 获取或设置用户自定义数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("customer_data")]
[System.Text.Json.Serialization.JsonPropertyName("customer_data")]
public string CustomData { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置返回数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("meeting_short_url_customer_data")]
[System.Text.Json.Serialization.JsonPropertyName("meeting_short_url_customer_data")]
public Types.Data Data { get; set; } = default!;
}
}

View File

@ -0,0 +1,50 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_attendee_list 接口的请求。</para>
/// </summary>
public class CgibinMeetingGetAttendeeListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置子会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("sub_meetingid")]
public string? SubMeetingId { get; set; }
/// <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>
/// 获取或设置翻页标记。
/// </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; }
}
}

View File

@ -0,0 +1,128 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_attendee_list 接口的响应。</para>
/// </summary>
public class CgibinMeetingGetAttendeeListResponse : WechatWorkResponse
{
public static class Types
{
public class Attendee
{
/// <summary>
/// 获取或设置参与者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置参与者临时 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmp_openid")]
[System.Text.Json.Serialization.JsonPropertyName("tmp_openid")]
public string? TempOpenId { get; set; }
/// <summary>
/// 获取或设置终端设备类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("instance_id")]
[System.Text.Json.Serialization.JsonPropertyName("instance_id")]
public int InstanceId { get; set; }
/// <summary>
/// 获取或设置成员角色。
/// </summary>
[Newtonsoft.Json.JsonProperty("role")]
[System.Text.Json.Serialization.JsonPropertyName("role")]
public int Role { get; set; }
/// <summary>
/// 获取或设置入会方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("join_type")]
[System.Text.Json.Serialization.JsonPropertyName("join_type")]
public int JoinType { get; set; }
/// <summary>
/// 获取或设置加入会议时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("join_time")]
[System.Text.Json.Serialization.JsonPropertyName("join_time")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long JoinTimestamp { get; set; }
/// <summary>
/// 获取或设置离开会议时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("quit_time")]
[System.Text.Json.Serialization.JsonPropertyName("quit_time")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long? QuitTimestamp { get; set; }
/// <summary>
/// 获取或设置网络类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("net")]
[System.Text.Json.Serialization.JsonPropertyName("net")]
public string? NetType { get; set; }
/// <summary>
/// 获取或设置网络研讨会成员角色。
/// </summary>
[Newtonsoft.Json.JsonProperty("webinar_role")]
[System.Text.Json.Serialization.JsonPropertyName("webinar_role")]
public int? WebinarRole { get; set; }
/// <summary>
/// 获取或设置是否开启麦克风。
/// </summary>
[Newtonsoft.Json.JsonProperty("audio_state")]
[System.Text.Json.Serialization.JsonPropertyName("audio_state")]
public bool IsAudioOpen { get; set; }
/// <summary>
/// 获取或设置是否开启摄像头。
/// </summary>
[Newtonsoft.Json.JsonProperty("video_state")]
[System.Text.Json.Serialization.JsonPropertyName("video_state")]
public bool IsVideoOpen { get; set; }
/// <summary>
/// 获取或设置是否屏幕共享。
/// </summary>
[Newtonsoft.Json.JsonProperty("screen_shared_state")]
[System.Text.Json.Serialization.JsonPropertyName("screen_shared_state")]
public bool IsScreenShared { get; set; }
/// <summary>
/// 获取或设置专属参会链接用户自定义数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("customer_data")]
[System.Text.Json.Serialization.JsonPropertyName("customer_data")]
public string? CustomData { get; set; }
}
}
/// <summary>
/// 获取或设置参与者列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("attendees")]
[System.Text.Json.Serialization.JsonPropertyName("attendees")]
public Types.Attendee[] AttendeeList { 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; }
}
}

View File

@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_customer_short_url 接口的请求。</para>
/// </summary>
public class CgibinMeetingGetCustomerShortUrlRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_customer_short_url 接口的响应。</para>
/// </summary>
public class CgibinMeetingGetCustomerShortUrlResponse : WechatWorkResponse
{
public static class Types
{
public class Data : CgibinMeetingCreateCustomerShortUrlResponse.Types.Data
{
}
}
/// <summary>
/// 获取或设置返回数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("meeting_short_url_customer_data_list")]
[System.Text.Json.Serialization.JsonPropertyName("meeting_short_url_customer_data_list")]
public Types.Data[] Data { get; set; } = default!;
}
}

View File

@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_guests 接口的请求。</para>
/// </summary>
public class CgibinMeetingGetGuestsRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = string.Empty;
}
}

View File

@ -0,0 +1,43 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_guests 接口的响应。</para>
/// </summary>
public class CgibinMeetingGetGuestsResponse : WechatWorkResponse
{
public static class Types
{
public class Guest : CgibinMeetingGetInfoResponse.Types.Guest
{
}
}
/// <summary>
/// 获取或设置嘉宾列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("guests")]
[System.Text.Json.Serialization.JsonPropertyName("guests")]
public Types.Guest[] GuestList { get; set; } = default!;
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = default!;
/// <summary>
/// 获取或设置入会码。
/// </summary>
[Newtonsoft.Json.JsonProperty("meeting_code")]
[System.Text.Json.Serialization.JsonPropertyName("meeting_code")]
public string MeetingCode { get; set; } = default!;
/// <summary>
/// 获取或设置会议主题。
/// </summary>
[Newtonsoft.Json.JsonProperty("title")]
[System.Text.Json.Serialization.JsonPropertyName("title")]
public string Title { get; set; } = default!;
}
}

View File

@ -0,0 +1,22 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_invitees 接口的请求。</para>
/// </summary>
public class CgibinMeetingGetInviteesRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("cursor")]
[System.Text.Json.Serialization.JsonPropertyName("cursor")]
public string? Cursor { get; set; }
}
}

View File

@ -0,0 +1,42 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_invitees 接口的响应。</para>
/// </summary>
public class CgibinMeetingGetInviteesResponse : WechatWorkResponse
{
public static class Types
{
public class Invitee
{
/// <summary>
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
}
}
/// <summary>
/// 获取或设置参与者列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("invitees")]
[System.Text.Json.Serialization.JsonPropertyName("invitees")]
public Types.Invitee[] InviteeList { 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; }
}
}

View File

@ -0,0 +1,43 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_quality 接口的请求。</para>
/// </summary>
public class CgibinMeetingGetQualityRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置子会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("sub_meetingid")]
public string? SubMeetingId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置参会时间起始时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("start_time")]
[System.Text.Json.Serialization.JsonPropertyName("start_time")]
public long? StartTimestamp { 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; }
}
}

View File

@ -0,0 +1,140 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_quality 接口的响应。</para>
/// </summary>
public class CgibinMeetingGetQualityResponse : WechatWorkResponse
{
public static class Types
{
public class Attendee
{
/// <summary>
/// 获取或设置参与者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置参与者临时 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmp_openid")]
[System.Text.Json.Serialization.JsonPropertyName("tmp_openid")]
public string? TempOpenId { get; set; }
/// <summary>
/// 获取或设置终端设备类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("instance_id")]
[System.Text.Json.Serialization.JsonPropertyName("instance_id")]
public int InstanceId { get; set; }
/// <summary>
/// 获取或设置健康度。
/// </summary>
[Newtonsoft.Json.JsonProperty("quality")]
[System.Text.Json.Serialization.JsonPropertyName("quality")]
public int Quality { get; set; }
/// <summary>
/// 获取或设置音频质量。
/// </summary>
[Newtonsoft.Json.JsonProperty("audio_quality")]
[System.Text.Json.Serialization.JsonPropertyName("audio_quality")]
public int AudioQuality { get; set; }
/// <summary>
/// 获取或设置视频质量。
/// </summary>
[Newtonsoft.Json.JsonProperty("video_quality")]
[System.Text.Json.Serialization.JsonPropertyName("video_quality")]
public int VideoQuality { get; set; }
/// <summary>
/// 获取或设置共享屏幕质量。
/// </summary>
[Newtonsoft.Json.JsonProperty("screen_share_quality")]
[System.Text.Json.Serialization.JsonPropertyName("screen_share_quality")]
public int ScreenShareQuality { get; set; }
/// <summary>
/// 获取或设置网络质量。
/// </summary>
[Newtonsoft.Json.JsonProperty("network_quality")]
[System.Text.Json.Serialization.JsonPropertyName("network_quality")]
public int NetworkQuality { get; set; }
/// <summary>
/// 获取或设置告警的具体问题列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("problems")]
[System.Text.Json.Serialization.JsonPropertyName("problems")]
public string[]? ProblemList { get; set; }
}
}
/// <summary>
/// 获取或设置健康度。
/// </summary>
[Newtonsoft.Json.JsonProperty("quality")]
[System.Text.Json.Serialization.JsonPropertyName("quality")]
public int Quality { get; set; }
/// <summary>
/// 获取或设置音频质量。
/// </summary>
[Newtonsoft.Json.JsonProperty("audio_quality")]
[System.Text.Json.Serialization.JsonPropertyName("audio_quality")]
public int AudioQuality { get; set; }
/// <summary>
/// 获取或设置视频质量。
/// </summary>
[Newtonsoft.Json.JsonProperty("video_quality")]
[System.Text.Json.Serialization.JsonPropertyName("video_quality")]
public int VideoQuality { get; set; }
/// <summary>
/// 获取或设置共享屏幕质量。
/// </summary>
[Newtonsoft.Json.JsonProperty("screen_share_quality")]
[System.Text.Json.Serialization.JsonPropertyName("screen_share_quality")]
public int ScreenShareQuality { get; set; }
/// <summary>
/// 获取或设置网络质量。
/// </summary>
[Newtonsoft.Json.JsonProperty("network_quality")]
[System.Text.Json.Serialization.JsonPropertyName("network_quality")]
public int NetworkQuality { get; set; }
/// <summary>
/// 获取或设置告警的具体问题列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("problems")]
[System.Text.Json.Serialization.JsonPropertyName("problems")]
public string[]? ProblemList { get; set; }
/// <summary>
/// 获取或设置参会人员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("attendees")]
[System.Text.Json.Serialization.JsonPropertyName("attendees")]
public Types.Attendee[] AttendeeList { 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; }
}
}

View File

@ -0,0 +1,36 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_realtime_attendee_list 接口的请求。</para>
/// </summary>
public class CgibinMeetingGetRealtimeAttendeeListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置子会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("sub_meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("sub_meetingid")]
public string? SubMeetingId { 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; }
}
}

View File

@ -0,0 +1,99 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/get_realtime_attendee_list 接口的响应。</para>
/// </summary>
public class CgibinMeetingGetRealtimeAttendeeListResponse : WechatWorkResponse
{
public static class Types
{
public class Attendee
{
/// <summary>
/// 获取或设置参与者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置参与者临时 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmp_openid")]
[System.Text.Json.Serialization.JsonPropertyName("tmp_openid")]
public string? TempOpenId { get; set; }
/// <summary>
/// 获取或设置终端设备类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("instance_id")]
[System.Text.Json.Serialization.JsonPropertyName("instance_id")]
public int InstanceId { get; set; }
/// <summary>
/// 获取或设置成员角色。
/// </summary>
[Newtonsoft.Json.JsonProperty("role")]
[System.Text.Json.Serialization.JsonPropertyName("role")]
public int Role { get; set; }
/// <summary>
/// 获取或设置入会方式。
/// </summary>
[Newtonsoft.Json.JsonProperty("join_type")]
[System.Text.Json.Serialization.JsonPropertyName("join_type")]
public int JoinType { get; set; }
/// <summary>
/// 获取或设置加入会议时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("join_time")]
[System.Text.Json.Serialization.JsonPropertyName("join_time")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long JoinTimestamp { get; set; }
/// <summary>
/// 获取或设置是否开启麦克风。
/// </summary>
[Newtonsoft.Json.JsonProperty("audio_state")]
[System.Text.Json.Serialization.JsonPropertyName("audio_state")]
public bool IsAudioOpen { get; set; }
/// <summary>
/// 获取或设置是否开启摄像头。
/// </summary>
[Newtonsoft.Json.JsonProperty("video_state")]
[System.Text.Json.Serialization.JsonPropertyName("video_state")]
public bool IsVideoOpen { get; set; }
/// <summary>
/// 获取或设置是否屏幕共享。
/// </summary>
[Newtonsoft.Json.JsonProperty("screen_shared_state")]
[System.Text.Json.Serialization.JsonPropertyName("screen_shared_state")]
public bool IsScreenShared { get; set; }
}
}
/// <summary>
/// 获取或设置参与者列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("attendees")]
[System.Text.Json.Serialization.JsonPropertyName("attendees")]
public Types.Attendee[] AttendeeList { 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; }
}
}

View File

@ -0,0 +1,31 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/set_guests 接口的请求。</para>
/// </summary>
public class CgibinMeetingSetGuestsRequest : WechatWorkRequest
{
public static class Types
{
public class Guest : CgibinMeetingCreateRequest.Types.Guest
{
}
}
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置嘉宾列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("guests")]
[System.Text.Json.Serialization.JsonPropertyName("guests")]
public IList<Types.Guest> GuestList { get; set; } = new List<Types.Guest>();
}
}

View File

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

View File

@ -0,0 +1,37 @@
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/set_invitees 接口的请求。</para>
/// </summary>
public class CgibinMeetingSetInviteesRequest : WechatWorkRequest
{
public static class Types
{
public class Invitee
{
/// <summary>
/// 获取或设置成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = string.Empty;
}
}
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = string.Empty;
/// <summary>
/// 获取或设置参与者列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("invitees")]
[System.Text.Json.Serialization.JsonPropertyName("invitees")]
public IList<Types.Invitee> InviteeList { get; set; } = new List<Types.Invitee>();
}
}

View File

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

View File

@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/waitingroom/get_current_user_list 接口的请求。</para>
/// </summary>
public class CgibinMeetingWaitingRoomGetCurrentUserListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = string.Empty;
/// <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; }
}
}

View File

@ -0,0 +1,63 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/waitingroom/get_current_user_list 接口的响应。</para>
/// </summary>
public class CgibinMeetingWaitingRoomGetCurrentUserListResponse : WechatWorkResponse
{
public static class Types
{
public class User
{
/// <summary>
/// 获取或设置参与者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置参与者临时 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmp_openid")]
[System.Text.Json.Serialization.JsonPropertyName("tmp_openid")]
public string? TempOpenId { get; set; }
/// <summary>
/// 获取或设置终端设备类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("instance_id")]
[System.Text.Json.Serialization.JsonPropertyName("instance_id")]
public int InstanceId { get; set; }
/// <summary>
/// 获取或设置专属参会链接用户自定义数据。
/// </summary>
[Newtonsoft.Json.JsonProperty("customer_data")]
[System.Text.Json.Serialization.JsonPropertyName("customer_data")]
public string? CustomData { get; set; }
}
}
/// <summary>
/// 获取或设置等候室人员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_list")]
[System.Text.Json.Serialization.JsonPropertyName("user_list")]
public Types.User[] UserList { 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; }
}
}

View File

@ -0,0 +1,29 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/waitingroom/get_user_list 接口的请求。</para>
/// </summary>
public class CgibinMeetingWaitingRoomGetUserListRequest : WechatWorkRequest
{
/// <summary>
/// 获取或设置会议 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("meetingid")]
[System.Text.Json.Serialization.JsonPropertyName("meetingid")]
public string MeetingId { get; set; } = string.Empty;
/// <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; }
}
}

View File

@ -0,0 +1,72 @@
namespace SKIT.FlurlHttpClient.Wechat.Work.Models
{
/// <summary>
/// <para>表示 [POST] /cgi-bin/meeting/waitingroom/get_user_list 接口的响应。</para>
/// </summary>
public class CgibinMeetingWaitingRoomGetUserListResponse : WechatWorkResponse
{
public static class Types
{
public class User
{
/// <summary>
/// 获取或设置参与者成员账号。
/// </summary>
[Newtonsoft.Json.JsonProperty("userid")]
[System.Text.Json.Serialization.JsonPropertyName("userid")]
public string UserId { get; set; } = default!;
/// <summary>
/// 获取或设置参与者临时 OpenId。
/// </summary>
[Newtonsoft.Json.JsonProperty("tmp_openid")]
[System.Text.Json.Serialization.JsonPropertyName("tmp_openid")]
public string? TempOpenId { get; set; }
/// <summary>
/// 获取或设置终端设备类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("instance_id")]
[System.Text.Json.Serialization.JsonPropertyName("instance_id")]
public int InstanceId { get; set; }
/// <summary>
/// 获取或设置加入会议时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("join_time")]
[System.Text.Json.Serialization.JsonPropertyName("join_time")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long JoinTimestamp { get; set; }
/// <summary>
/// 获取或设置离开会议时间戳。
/// </summary>
[Newtonsoft.Json.JsonProperty("quit_time")]
[System.Text.Json.Serialization.JsonPropertyName("quit_time")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long? QuitTimestamp { get; set; }
}
}
/// <summary>
/// 获取或设置等候室人员列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("user_list")]
[System.Text.Json.Serialization.JsonPropertyName("user_list")]
public Types.User[] UserList { 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; }
}
}

View File

@ -0,0 +1,5 @@
{
"userid": "USERID",
"instance_id_list": [ 1, 2, 3 ],
"meetingid_list": [ "meeting1", "meeting2" ]
}

View File

@ -0,0 +1,10 @@
{
"errcode": 0,
"errmsg": "ok",
"result_list": [
{
"meetingid": "meetingid1",
"instance_id": 1
}
]
}

View File

@ -0,0 +1,4 @@
{
"meetingid": "meetingid11234",
"customer_data": "CUSTOMERDATA"
}

View File

@ -0,0 +1,8 @@
{
"errcode": 0,
"errmsg": "ok",
"meeting_short_url_customer_data": {
"customer_data": "CUSTOMERDATA",
"meeting_short_url": "URL"
}
}

View File

@ -0,0 +1,8 @@
{
"meetingid": "meetingid11234",
"sub_meetingid": "submeetingid11111",
"start_time": 168888888,
"end_time": 179999999,
"cursor": "jigeng=",
"limit": 100
}

View File

@ -0,0 +1,22 @@
{
"errcode": 0,
"errmsg": "ok",
"has_more": false,
"next_cursor": "jigjegn==",
"attendees": [
{
"tmp_openid": "lisi",
"userid": "",
"join_time": "166666666",
"quit_time": "166666666",
"instance_id": 1,
"role": 0,
"webinar_role": 0,
"join_type": 0,
"net": "WIFI",
"audio_state": true,
"screen_shared_state": true,
"customer_data": "data"
}
]
}

View File

@ -0,0 +1,10 @@
{
"errcode": 0,
"errmsg": "ok",
"meeting_short_url_customer_data_list": [
{
"customer_data": "CUSTOMERDATA",
"meeting_short_url": "URL"
}
]
}

View File

@ -0,0 +1,14 @@
{
"errcode": 0,
"errmsg": "ok",
"meetingid": "15923312864334416762",
"meeting_code": "653202434",
"title": "jiabin",
"guests": [
{
"area": "86",
"phone_number": "xxxxxx",
"guest_name": "test"
}
]
}

View File

@ -0,0 +1,4 @@
{
"meetingid": "meetingid11",
"cursor": "NIGEIJG"
}

View File

@ -0,0 +1,11 @@
{
"errcode": 0,
"errmsg": "ok",
"has_more": true,
"next_cursor": "GENIG",
"invitees": [
{
"userid": "USERID"
}
]
}

View File

@ -0,0 +1,7 @@
{
"meetingid": "MEETINGID",
"sub_meetingid": "SUB_MEETING_ID",
"start_time": 168888888,
"cursor": "CURSOR",
"limit": 20
}

View File

@ -0,0 +1,29 @@
{
"errcode": 0,
"errmsg": "ok",
"quality": 0,
"audio_quality": 1,
"video_quality": 2,
"screen_share_quality": 1,
"network_quality": 1,
"problems": [
"PROBLEM1"
],
"attendees": [
{
"userid": "USERID",
"tmp_openid": "TMP_OPENID",
"instance_id": 1,
"quality": 1,
"audio_quality": 1,
"video_quality": 1,
"screen_share_quality": 1,
"network_quality": 1,
"problems": [
"PROBLEM1"
]
}
],
"next_cursor": "NEXT_CURSOR",
"has_more": true
}

View File

@ -0,0 +1,6 @@
{
"meetingid": "meetingid11234",
"sub_meetingid": "submeetingid11111",
"cursor": "NGIEMG",
"limit": 50
}

View File

@ -0,0 +1,19 @@
{
"errcode": 0,
"errmsg": "ok",
"has_more": true,
"next_cursor": "JGIEGNOE",
"attendees": [
{
"userid": "lisi",
"tmp_openid": "111111",
"join_time": "166666666",
"instance_id": 1,
"role": 0,
"join_type": 0,
"audio_state": true,
"video_state": true,
"screen_shared_state": true
}
]
}

View File

@ -0,0 +1,10 @@
{
"meetingid": "ID",
"guests": [
{
"area": "86",
"phone_number": "xxxxxxxxx",
"guest_name": "xxxx"
}
]
}

View File

@ -0,0 +1,11 @@
{
"meetingid": "meetingid",
"invitees": [
{
"userid": "zhangsan"
},
{
"userid": "lisi"
}
]
}

View File

@ -0,0 +1,5 @@
{
"meetingid": "MEETINGID",
"limit": 20,
"cursor": "XMVEI"
}

View File

@ -0,0 +1,20 @@
{
"errcode": 0,
"errmsg": "ok",
"has_more": true,
"next_cursor": "NGIENIGE",
"user_list": [
{
"userid": "USERID1",
"instance_id": 1,
"customer_data": "DATA",
"tmp_openid": "214142"
},
{
"userid": "",
"instance_id": 1,
"customer_data": "DATA",
"tmp_openid": "NIGEMIGEO"
}
]
}

View File

@ -0,0 +1,5 @@
{
"meetingid": "MEETINGID",
"limit": 20,
"cursor": "XMVEI"
}

View File

@ -0,0 +1,15 @@
{
"errcode": 0,
"errmsg": "ok",
"has_more": true,
"next_cursor": "NGIENIG",
"user_list": [
{
"userid": "USERID",
"tmp_openid": "tmpid",
"instance_id": 1,
"join_time": 13525325,
"quit_time": 12491059320
}
]
}