From ab1d417a7fa0f214d0fa4a6b630401f67d61862b Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Fri, 16 Jun 2023 16:17:31 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E6=96=B0=E5=A2=9E=E4=BC=9A?= =?UTF-8?q?=E8=AE=AE=E5=B8=83=E5=B1=80=E5=92=8C=E8=83=8C=E6=99=AF=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E7=9B=B8=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...orkClientExecuteCgibinMeetingExtensions.cs | 202 ++++++++++++++++++ ...CgibinMeetingLayoutAddBackgroundRequest.cs | 51 +++++ ...gibinMeetingLayoutAddBackgroundResponse.cs | 29 +++ .../Layout/CgibinMeetingLayoutAddRequest.cs | 112 ++++++++++ .../Layout/CgibinMeetingLayoutAddResponse.cs | 110 ++++++++++ ...etingLayoutBatchDeleteBackgroundRequest.cs | 24 +++ ...tingLayoutBatchDeleteBackgroundResponse.cs | 9 + .../CgibinMeetingLayoutBatchDeleteRequest.cs | 24 +++ .../CgibinMeetingLayoutBatchDeleteResponse.cs | 9 + ...binMeetingLayoutDeleteBackgroundRequest.cs | 22 ++ ...inMeetingLayoutDeleteBackgroundResponse.cs | 9 + ...gibinMeetingLayoutListBackgroundRequest.cs | 15 ++ ...ibinMeetingLayoutListBackgroundResponse.cs | 42 ++++ .../CgibinMeetingLayoutListTemplateRequest.cs | 9 + ...CgibinMeetingLayoutListTemplateResponse.cs | 49 +++++ ...eetingLayoutSetDefaultBackgroundRequest.cs | 22 ++ ...etingLayoutSetDefaultBackgroundResponse.cs | 9 + .../CgibinMeetingLayoutSetDefaultRequest.cs | 22 ++ .../CgibinMeetingLayoutSetDefaultResponse.cs | 9 + .../CgibinMeetingLayoutUpdateRequest.cs | 58 +++++ .../CgibinMeetingLayoutUpdateResponse.cs | 9 + ...ibinMeetingLayoutAddBackgroundRequest.json | 10 + ...binMeetingLayoutAddBackgroundResponse.json | 11 + .../Layout/CgibinMeetingLayoutAddRequest.json | 23 ++ .../CgibinMeetingLayoutAddResponse.json | 25 +++ ...ingLayoutBatchDeleteBackgroundRequest.json | 4 + ...CgibinMeetingLayoutBatchDeleteRequest.json | 4 + ...nMeetingLayoutDeleteBackgroundRequest.json | 4 + ...binMeetingLayoutListBackgroundRequest.json | 3 + ...inMeetingLayoutListBackgroundResponse.json | 11 + ...ibinMeetingLayoutListTemplateResponse.json | 12 ++ ...tingLayoutSetDefaultBackgroundRequest.json | 4 + .../CgibinMeetingLayoutSetDefaultRequest.json | 4 + .../CgibinMeetingLayoutUpdateRequest.json | 20 ++ 34 files changed, 980 insertions(+) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateResponse.cs create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateRequest.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs index d9122bf7..6b3f0a4d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs @@ -496,6 +496,208 @@ namespace SKIT.FlurlHttpClient.Wechat.Work } #endregion + #region Layout + /// + /// 异步调用 [GET] /cgi-bin/meeting/layout/list_template 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98844 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingLayoutListTemplateAsync(this WechatWorkClient client, Models.CgibinMeetingLayoutListTemplateRequest 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.Get, "cgi-bin", "meeting", "layout", "list_template") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/layout/add 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98845 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingLayoutAddAsync(this WechatWorkClient client, Models.CgibinMeetingLayoutAddRequest 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", "layout", "add") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/layout/update 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98846 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingLayoutUpdateAsync(this WechatWorkClient client, Models.CgibinMeetingLayoutUpdateRequest 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", "layout", "update") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/layout/set_default 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98847 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingLayoutSetDefaultAsync(this WechatWorkClient client, Models.CgibinMeetingLayoutSetDefaultRequest 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", "layout", "set_default") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/advanced_layout/batch_delete 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98866 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingLayoutBatchDeleteAsync(this WechatWorkClient client, Models.CgibinMeetingLayoutBatchDeleteRequest 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", "advanced_layout", "batch_delete") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/layout/add_background 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98851 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingLayoutAddBackgroundAsync(this WechatWorkClient client, Models.CgibinMeetingLayoutAddBackgroundRequest 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", "layout", "add_background") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/layout/set_default_background 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98852 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingLayoutSetDefaultBackgroundAsync(this WechatWorkClient client, Models.CgibinMeetingLayoutSetDefaultBackgroundRequest 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", "layout", "set_default_background") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/layout/list_background 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98856 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingLayoutListBackgroundAsync(this WechatWorkClient client, Models.CgibinMeetingLayoutListBackgroundRequest 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", "layout", "list_background") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/layout/delete_background 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98853 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingLayoutDeleteBackgroundAsync(this WechatWorkClient client, Models.CgibinMeetingLayoutDeleteBackgroundRequest 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", "layout", "delete_background") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/layout/batch_delete_background 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98854 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingLayoutBatchDeleteBackgroundAsync(this WechatWorkClient client, Models.CgibinMeetingLayoutBatchDeleteBackgroundRequest 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", "layout", "batch_delete_background") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + #region MRA /// /// 异步调用 [POST] /cgi-bin/meeting/mra/query_status 接口。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundRequest.cs new file mode 100644 index 00000000..be9ad21b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundRequest.cs @@ -0,0 +1,51 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/add_background 接口的请求。 + /// + public class CgibinMeetingLayoutAddBackgroundRequest : WechatWorkRequest + { + public static class Types + { + public class BackgroundImage + { + /// + /// 获取或设置背景图片 URL。 + /// + [Newtonsoft.Json.JsonProperty("image_url")] + [System.Text.Json.Serialization.JsonPropertyName("image_url")] + public string ImageUrl { get; set; } = string.Empty; + + /// + /// 获取或设置背景图片 MD5 值。 + /// + [Newtonsoft.Json.JsonProperty("image_md5")] + [System.Text.Json.Serialization.JsonPropertyName("image_md5")] + public string ImageMd5 { get; set; } = string.Empty; + } + } + + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + + /// + /// 获取或设置背景图片列表。 + /// + [Newtonsoft.Json.JsonProperty("image_list")] + [System.Text.Json.Serialization.JsonPropertyName("image_list")] + public IList BackgroundImageList { get; set; } = new List(); + + /// + /// 获取或设置默认背景图片序号。 + /// + [Newtonsoft.Json.JsonProperty("default_image_order")] + [System.Text.Json.Serialization.JsonPropertyName("default_image_order")] + public int? DefaultBackgroundOrder { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundResponse.cs new file mode 100644 index 00000000..6c48970e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundResponse.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/add_background 接口的响应。 + /// + public class CgibinMeetingLayoutAddBackgroundResponse : WechatWorkResponse + { + public static class Types + { + public class BackgroundImage : CgibinMeetingLayoutListBackgroundResponse.Types.BackgroundImage + { + } + } + + /// + /// 获取或设置会议应用的背景 ID。 + /// + [Newtonsoft.Json.JsonProperty("selected_background_id")] + [System.Text.Json.Serialization.JsonPropertyName("selected_background_id")] + public string SelectedBackgroundId { get; set; } = default!; + + /// + /// 获取或设置背景图片列表。 + /// + [Newtonsoft.Json.JsonProperty("background_list")] + [System.Text.Json.Serialization.JsonPropertyName("background_list")] + public Types.BackgroundImage[] BackgroundImageList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddRequest.cs new file mode 100644 index 00000000..f6ff732c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddRequest.cs @@ -0,0 +1,112 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/add 接口的请求。 + /// + public class CgibinMeetingLayoutAddRequest : WechatWorkRequest + { + public static class Types + { + public class Layout + { + public static class Types + { + public class Page + { + public static class Types + { + public class UserSeat + { + /// + /// 获取或设置宫格 ID。 + /// + [Newtonsoft.Json.JsonProperty("grid_id")] + [System.Text.Json.Serialization.JsonPropertyName("grid_id")] + public string GridId { get; set; } = string.Empty; + + /// + /// 获取或设置宫格类型。 + /// + [Newtonsoft.Json.JsonProperty("grid_type")] + [System.Text.Json.Serialization.JsonPropertyName("grid_type")] + public int GridType { get; set; } + + /// + /// 获取或设置参会的成员账号。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string? UserId { get; set; } + + /// + /// 获取或设置参会的成员临时 ID。 + /// + [Newtonsoft.Json.JsonProperty("tmp_openid")] + [System.Text.Json.Serialization.JsonPropertyName("tmp_openid")] + public string? TempOpenId { get; set; } + + /// + /// 获取或设置昵称。 + /// + [Newtonsoft.Json.JsonProperty("nick_name")] + [System.Text.Json.Serialization.JsonPropertyName("nick_name")] + public string? Nickname { get; set; } + + /// + /// 获取或设置拓展应用 ID。 + /// + [Newtonsoft.Json.JsonProperty("tool_sdkid")] + [System.Text.Json.Serialization.JsonPropertyName("tool_sdkid")] + public string? ToolSdkId { get; set; } + } + } + + /// + /// 获取或设置布局模板 ID。 + /// + [Newtonsoft.Json.JsonProperty("layout_template_id")] + [System.Text.Json.Serialization.JsonPropertyName("layout_template_id")] + public string LayoutTemplateId { get; set; } = string.Empty; + + /// + /// 获取或设置用户座次列表。 + /// + [Newtonsoft.Json.JsonProperty("user_seat_list")] + [System.Text.Json.Serialization.JsonPropertyName("user_seat_list")] + public IList UserSeatList { get; set; } = new List(); + } + } + + /// + /// 获取或设置布局单页列表。 + /// + [Newtonsoft.Json.JsonProperty("page_list")] + [System.Text.Json.Serialization.JsonPropertyName("page_list")] + public IList PageList { get; set; } = new List(); + } + } + + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + + /// + /// 获取或设置布局列表。 + /// + [Newtonsoft.Json.JsonProperty("layout_list")] + [System.Text.Json.Serialization.JsonPropertyName("layout_list")] + public IList LayoutList { get; set; } = new List(); + + /// + /// 获取或设置默认布局序号。 + /// + [Newtonsoft.Json.JsonProperty("default_layout_order")] + [System.Text.Json.Serialization.JsonPropertyName("default_layout_order")] + public int? DefaultLayoutOrder { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddResponse.cs new file mode 100644 index 00000000..24675c3f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutAddResponse.cs @@ -0,0 +1,110 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/add 接口的响应。 + /// + public class CgibinMeetingLayoutAddResponse : WechatWorkResponse + { + public static class Types + { + public class Layout + { + public static class Types + { + public class Page + { + public static class Types + { + public class UserSeat + { + /// + /// 获取或设置宫格 ID。 + /// + [Newtonsoft.Json.JsonProperty("grid_id")] + [System.Text.Json.Serialization.JsonPropertyName("grid_id")] + public string GridId { get; set; } = default!; + + /// + /// 获取或设置宫格类型。 + /// + [Newtonsoft.Json.JsonProperty("grid_type")] + [System.Text.Json.Serialization.JsonPropertyName("grid_type")] + public int GridType { get; set; } + + /// + /// 获取或设置参会的成员账号。 + /// + [Newtonsoft.Json.JsonProperty("userid")] + [System.Text.Json.Serialization.JsonPropertyName("userid")] + public string? UserId { get; set; } + + /// + /// 获取或设置参会的成员临时 ID。 + /// + [Newtonsoft.Json.JsonProperty("tmp_openid")] + [System.Text.Json.Serialization.JsonPropertyName("tmp_openid")] + public string? TempOpenId { get; set; } + + /// + /// 获取或设置昵称。 + /// + [Newtonsoft.Json.JsonProperty("nick_name")] + [System.Text.Json.Serialization.JsonPropertyName("nick_name")] + public string? Nickname { get; set; } + + /// + /// 获取或设置拓展应用 ID。 + /// + [Newtonsoft.Json.JsonProperty("tool_sdkid")] + [System.Text.Json.Serialization.JsonPropertyName("tool_sdkid")] + public string? ToolSdkId { get; set; } + } + } + + /// + /// 获取或设置布局模板 ID。 + /// + [Newtonsoft.Json.JsonProperty("layout_template_id")] + [System.Text.Json.Serialization.JsonPropertyName("layout_template_id")] + public string LayoutTemplateId { get; set; } = default!; + + /// + /// 获取或设置用户座次列表。 + /// + [Newtonsoft.Json.JsonProperty("user_seat_list")] + [System.Text.Json.Serialization.JsonPropertyName("user_seat_list")] + public Types.UserSeat[] UserSeatList { get; set; } = default!; + } + } + + /// + /// 获取或设置布局 ID。 + /// + [Newtonsoft.Json.JsonProperty("layout_id")] + [System.Text.Json.Serialization.JsonPropertyName("layout_id")] + public string LayoutId { get; set; } = default!; + + /// + /// 获取或设置布局单页列表。 + /// + [Newtonsoft.Json.JsonProperty("page_list")] + [System.Text.Json.Serialization.JsonPropertyName("page_list")] + public Types.Page[] PageList { get; set; } = default!; + } + } + + /// + /// 获取或设置会议应用的布局 ID。 + /// + [Newtonsoft.Json.JsonProperty("selected_layout_id")] + [System.Text.Json.Serialization.JsonPropertyName("selected_layout_id")] + public string SelectedLayoutId { get; set; } = default!; + + /// + /// 获取或设置布局列表。 + /// + [Newtonsoft.Json.JsonProperty("layout_list")] + [System.Text.Json.Serialization.JsonPropertyName("layout_list")] + public Types.Layout[] LayoutList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundRequest.cs new file mode 100644 index 00000000..5979155b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundRequest.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/batch_delete_background 接口的请求。 + /// + public class CgibinMeetingLayoutBatchDeleteBackgroundRequest : WechatWorkRequest + { + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + + /// + /// 获取或设置背景 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("background_id_list")] + [System.Text.Json.Serialization.JsonPropertyName("background_id_list")] + public IList BackgroundIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundResponse.cs new file mode 100644 index 00000000..a2174b62 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/batch_delete_background 接口的响应。 + /// + public class CgibinMeetingLayoutBatchDeleteBackgroundResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteRequest.cs new file mode 100644 index 00000000..1bb1217c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteRequest.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/advanced_layout/batch_delete 接口的请求。 + /// + public class CgibinMeetingLayoutBatchDeleteRequest : WechatWorkRequest + { + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + + /// + /// 获取或设置布局 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("layout_id_list")] + [System.Text.Json.Serialization.JsonPropertyName("layout_id_list")] + public IList LayoutIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteResponse.cs new file mode 100644 index 00000000..19040618 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/advanced_layout/batch_delete 接口的响应。 + /// + public class CgibinMeetingLayoutBatchDeleteResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundRequest.cs new file mode 100644 index 00000000..dd342ff6 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/delete_background 接口的请求。 + /// + public class CgibinMeetingLayoutDeleteBackgroundRequest : WechatWorkRequest + { + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + + /// + /// 获取或设置背景 ID。 + /// + [Newtonsoft.Json.JsonProperty("background_id")] + [System.Text.Json.Serialization.JsonPropertyName("background_id")] + public string BackgroundId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundResponse.cs new file mode 100644 index 00000000..4ab9bb48 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/delete_background 接口的响应。 + /// + public class CgibinMeetingLayoutDeleteBackgroundResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundRequest.cs new file mode 100644 index 00000000..60b9bf65 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/list_background 接口的请求。 + /// + public class CgibinMeetingLayoutListBackgroundRequest : WechatWorkRequest + { + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundResponse.cs new file mode 100644 index 00000000..9e6a3b97 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundResponse.cs @@ -0,0 +1,42 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/list_background 接口的响应。 + /// + public class CgibinMeetingLayoutListBackgroundResponse : WechatWorkResponse + { + public static class Types + { + public class BackgroundImage + { + /// + /// 获取或设置背景图片 ID。 + /// + [Newtonsoft.Json.JsonProperty("background_id")] + [System.Text.Json.Serialization.JsonPropertyName("background_id")] + public string BackgroundId { get; set; } = default!; + + /// + /// 获取或设置背景图片 MD5 值。 + /// + [Newtonsoft.Json.JsonProperty("image_md5")] + [System.Text.Json.Serialization.JsonPropertyName("image_md5")] + public string ImageMd5 { get; set; } = default!; + } + } + + /// + /// 获取或设置会议应用的背景 ID。 + /// + [Newtonsoft.Json.JsonProperty("selected_background_id")] + [System.Text.Json.Serialization.JsonPropertyName("selected_background_id")] + public string SelectedBackgroundId { get; set; } = default!; + + /// + /// 获取或设置背景图片列表。 + /// + [Newtonsoft.Json.JsonProperty("background_list")] + [System.Text.Json.Serialization.JsonPropertyName("background_list")] + public Types.BackgroundImage[] BackgroundImageList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateRequest.cs new file mode 100644 index 00000000..fc9f5d4f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/meeting/layout/list_template 接口的请求。 + /// + public class CgibinMeetingLayoutListTemplateRequest : WechatWorkRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateResponse.cs new file mode 100644 index 00000000..d014c0ab --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateResponse.cs @@ -0,0 +1,49 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [GET] /cgi-bin/meeting/layout/list_template 接口的响应。 + /// + public class CgibinMeetingLayoutListTemplateResponse : WechatWorkResponse + { + public static class Types + { + public class LayoutTemplate + { + /// + /// 获取或设置布局模板 ID。 + /// + [Newtonsoft.Json.JsonProperty("layout_template_id")] + [System.Text.Json.Serialization.JsonPropertyName("layout_template_id")] + public string LayoutTemplateId { get; set; } = default!; + + /// + /// 获取或设置缩略图 URL。 + /// + [Newtonsoft.Json.JsonProperty("thumbnail_url")] + [System.Text.Json.Serialization.JsonPropertyName("thumbnail_url")] + public string ThumbnailUrl { get; set; } = default!; + + /// + /// 获取或设置布局图 URL。 + /// + [Newtonsoft.Json.JsonProperty("picture_url")] + [System.Text.Json.Serialization.JsonPropertyName("picture_url")] + public string PictureUrl { get; set; } = default!; + + /// + /// 获取或设置渲染规则(JSON 格式)。 + /// + [Newtonsoft.Json.JsonProperty("render_rule")] + [System.Text.Json.Serialization.JsonPropertyName("render_rule")] + public string RenderRuleJson { get; set; } = default!; + } + } + + /// + /// 获取或设置布局模板列表。 + /// + [Newtonsoft.Json.JsonProperty("layout_template_list")] + [System.Text.Json.Serialization.JsonPropertyName("layout_template_list")] + public Types.LayoutTemplate[] LayoutTemplateList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundRequest.cs new file mode 100644 index 00000000..d4d3d331 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/set_default_background 接口的请求。 + /// + public class CgibinMeetingLayoutSetDefaultBackgroundRequest : WechatWorkRequest + { + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + + /// + /// 获取或设置会议应用的背景 ID。 + /// + [Newtonsoft.Json.JsonProperty("selected_background_id")] + [System.Text.Json.Serialization.JsonPropertyName("selected_background_id")] + public string SelectedBackgroundId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundResponse.cs new file mode 100644 index 00000000..b6737dd8 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/set_default_background 接口的响应。 + /// + public class CgibinMeetingLayoutSetDefaultBackgroundResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultRequest.cs new file mode 100644 index 00000000..c8bbbd2b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/set_default 接口的请求。 + /// + public class CgibinMeetingLayoutSetDefaultRequest : WechatWorkRequest + { + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + + /// + /// 获取或设置会议应用的布局 ID。 + /// + [Newtonsoft.Json.JsonProperty("selected_layout_id")] + [System.Text.Json.Serialization.JsonPropertyName("selected_layout_id")] + public string SelectedLayoutId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultResponse.cs new file mode 100644 index 00000000..f06d442d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/set_default 接口的响应。 + /// + public class CgibinMeetingLayoutSetDefaultResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateRequest.cs new file mode 100644 index 00000000..95f396cb --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateRequest.cs @@ -0,0 +1,58 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/update 接口的请求。 + /// + public class CgibinMeetingLayoutUpdateRequest : WechatWorkRequest + { + public static class Types + { + public class Page : CgibinMeetingLayoutAddRequest.Types.Layout.Types.Page + { + public static new class Types + { + public class UserSeat : CgibinMeetingLayoutAddRequest.Types.Layout.Types.Page.Types.UserSeat + { + } + } + + /// + /// 获取或设置用户座次列表。 + /// + [Newtonsoft.Json.JsonProperty("user_seat_list")] + [System.Text.Json.Serialization.JsonPropertyName("user_seat_list")] + public new IList UserSeatList { get; set; } = new List(); + } + } + + /// + /// 获取或设置会议 ID。 + /// + [Newtonsoft.Json.JsonProperty("meetingid")] + [System.Text.Json.Serialization.JsonPropertyName("meetingid")] + public string MeetingId { get; set; } = string.Empty; + + /// + /// 获取或设置布局 ID。 + /// + [Newtonsoft.Json.JsonProperty("layout_id")] + [System.Text.Json.Serialization.JsonPropertyName("layout_id")] + public string LayoutId { get; set; } = string.Empty; + + /// + /// 获取或设置布局单页列表。 + /// + [Newtonsoft.Json.JsonProperty("page_list")] + [System.Text.Json.Serialization.JsonPropertyName("page_list")] + public IList PageList { get; set; } = new List(); + + /// + /// 获取或设置是否设置为会议应用的布局。 + /// + [Newtonsoft.Json.JsonProperty("enable_set_default")] + [System.Text.Json.Serialization.JsonPropertyName("enable_set_default")] + public bool? EnableSetDefault { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateResponse.cs new file mode 100644 index 00000000..4066a6a0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/layout/update 接口的响应。 + /// + public class CgibinMeetingLayoutUpdateResponse : WechatWorkResponse + { + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundRequest.json new file mode 100644 index 00000000..26cf6f3a --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundRequest.json @@ -0,0 +1,10 @@ +{ + "meetingid": "MEETINGID", + "image_list": [ + { + "image_md5": "eax879asd3z", + "image_url": "https://image.qq.com/1jsaz.png" + } + ], + "default_image_order": 1 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundResponse.json new file mode 100644 index 00000000..90dd080e --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddBackgroundResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "ok", + "selected_background_id": "BACKID1", + "background_list": [ + { + "background_id": "BACKID1", + "image_md5": "eax879asd3z" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddRequest.json new file mode 100644 index 00000000..32e8ae18 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddRequest.json @@ -0,0 +1,23 @@ +{ + "meetingid": "MEETINGID", + "layout_list": [ + { + "page_list": [ + { + "layout_template_id": "TEMID1", + "user_seat_list": [ + { + "grid_id": "10", + "grid_type": 1, + "userid": "USERID", + "tmp_openid": "68j2xkYT1", + "nick_name": "NICK", + "tool_sdkid": "SDKID" + } + ] + } + ] + } + ], + "default_layout_order": 1 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddResponse.json new file mode 100644 index 00000000..a10cba1f --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutAddResponse.json @@ -0,0 +1,25 @@ +{ + "errcode": 0, + "errmsg": "ok", + "selected_layout_id": "LAYOUTID1", + "layout_list": [ + { + "layout_id": "LAYOUTID1", + "page_list": [ + { + "layout_template_id": "TEMID1", + "user_seat_list": [ + { + "grid_id": "10", + "grid_type": 1, + "userid": "USERID", + "tmp_openid": "68j2xkYT1", + "nick_name": "NICK", + "tool_sdkid": "SDKID" + } + ] + } + ] + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundRequest.json new file mode 100644 index 00000000..ae0c1b6b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteBackgroundRequest.json @@ -0,0 +1,4 @@ +{ + "meetingid": "MEETINGID", + "background_id_list": [ "BACKID1", "BACKID2" ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteRequest.json new file mode 100644 index 00000000..e0f0ddf2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutBatchDeleteRequest.json @@ -0,0 +1,4 @@ +{ + "meetingid": "MEETINGID", + "layout_id_list": [ "LAYOUTID1", "LAYOUTID2" ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundRequest.json new file mode 100644 index 00000000..a2d8baad --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutDeleteBackgroundRequest.json @@ -0,0 +1,4 @@ +{ + "meetingid": "MEETINGID", + "background_id": "BACKID1" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundRequest.json new file mode 100644 index 00000000..d0e8505d --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundRequest.json @@ -0,0 +1,3 @@ +{ + "meetingid": "MEETINGID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundResponse.json new file mode 100644 index 00000000..90dd080e --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListBackgroundResponse.json @@ -0,0 +1,11 @@ +{ + "errcode": 0, + "errmsg": "ok", + "selected_background_id": "BACKID1", + "background_list": [ + { + "background_id": "BACKID1", + "image_md5": "eax879asd3z" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateResponse.json new file mode 100644 index 00000000..6d19fd87 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutListTemplateResponse.json @@ -0,0 +1,12 @@ +{ + "errcode": 0, + "errmsg": "ok", + "layout_template_list": [ + { + "layout_template_id": "1", + "thumbnail_url": "https://xxx.1.d/1.png", + "picture_url": "https://xxx.yyy.mmm/sss.jpg", + "render_rule": "{\"layout_width\":960,\"layout_height\":540,\"layout_items\":[{\"seat_id\":1,\"stream_size\":1,\"pos\":{\"left\":\"0.00000000\",\"top\":\"0.00000000\"},\"size\":{\"width\":\"1.00000000\",\"height\":\"1.00000000\"},\"margin\":{\"top\":\"0.0\",\"left\":\"0.0\",\"bottom\":\"0.0\",\"right\":\"0.0\"}}]}" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundRequest.json new file mode 100644 index 00000000..5616bf3e --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultBackgroundRequest.json @@ -0,0 +1,4 @@ +{ + "meetingid": "MEETINGID", + "selected_background_id": "BACKID1" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultRequest.json new file mode 100644 index 00000000..77bc7563 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutSetDefaultRequest.json @@ -0,0 +1,4 @@ +{ + "meetingid": "MEETINGID", + "selected_layout_id": "3acdd90-b0b2" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateRequest.json new file mode 100644 index 00000000..070c5955 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Layout/CgibinMeetingLayoutUpdateRequest.json @@ -0,0 +1,20 @@ +{ + "meetingid": "MEETINGID", + "layout_id": "LAYOUTID1", + "page_list": [ + { + "layout_template_id": "TEMID1", + "user_seat_list": [ + { + "grid_id": "10", + "grid_type": 1, + "userid": "USERID", + "tmp_openid": "68j2xkYT1", + "nick_name": "NICK", + "tool_sdkid": "SDKID" + } + ] + } + ], + "enable_set_default": false +}