diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs index ca4e7fd8..4510a87d 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinMeetingExtensions.cs @@ -1124,6 +1124,148 @@ namespace SKIT.FlurlHttpClient.Wechat.Work return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); } + + #region /Webinar/Enroll + /// + /// 异步调用 [POST] /cgi-bin/meeting/webinar/enroll/set_config 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98875 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingWebinarEnrollSetConfigAsync(this WechatWorkClient client, Models.CgibinMeetingWebinarEnrollSetConfigRequest 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", "webinar", "enroll", "set_config") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/webinar/enroll/get_config 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98874 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingWebinarEnrollGetConfigAsync(this WechatWorkClient client, Models.CgibinMeetingWebinarEnrollGetConfigRequest 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", "webinar", "enroll", "get_config") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/webinar/enroll/query_by_tmp_openid 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98873 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingWebinarEnrollQueryByTempOpenIdAsync(this WechatWorkClient client, Models.CgibinMeetingWebinarEnrollQueryByTempOpenIdRequest 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", "webinar", "enroll", "query_by_tmp_openid") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/webinar/enroll/list 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98876 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingWebinarEnrollListAsync(this WechatWorkClient client, Models.CgibinMeetingWebinarEnrollListRequest 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", "webinar", "enroll", "list") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/webinar/enroll/approve 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98877 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingWebinarEnrollApproveAsync(this WechatWorkClient client, Models.CgibinMeetingWebinarEnrollApproveRequest 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", "webinar", "enroll", "approve") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/webinar/enroll/import 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98880 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingWebinarEnrollImportAsync(this WechatWorkClient client, Models.CgibinMeetingWebinarEnrollImportRequest 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", "webinar", "enroll", "import") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/meeting/webinar/enroll/delete 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/98881 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinMeetingWebinarEnrollDeleteAsync(this WechatWorkClient client, Models.CgibinMeetingWebinarEnrollDeleteRequest 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", "webinar", "enroll", "delete") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion #endregion } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollListResponse.cs index b7c5fb30..c0ae2945 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollListResponse.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Enroll/CgibinMeetingEnrollListResponse.cs @@ -62,6 +62,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Work.Models /// [Newtonsoft.Json.JsonProperty("enroll_id")] [System.Text.Json.Serialization.JsonPropertyName("enroll_id")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalStringReadOnlyConverter))] public string EnrollId { get; set; } = default!; /// diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveRequest.cs new file mode 100644 index 00000000..2e4709b0 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/approve 接口的请求。 + /// + public class CgibinMeetingWebinarEnrollApproveRequest : CgibinMeetingEnrollApproveRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveResponse.cs new file mode 100644 index 00000000..7ca8f7a4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/approve 接口的响应。 + /// + public class CgibinMeetingWebinarEnrollApproveResponse : CgibinMeetingEnrollApproveResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteRequest.cs new file mode 100644 index 00000000..24096f18 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteRequest.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/delete 接口的请求。 + /// + public class CgibinMeetingWebinarEnrollDeleteRequest : CgibinMeetingEnrollDeleteRequest + { + public static new class Types + { + public class Enroll : CgibinMeetingEnrollDeleteRequest.Types.Enroll + { + } + } + + /// + /// 获取或设置报名列表。 + /// + [Newtonsoft.Json.JsonProperty("enroll_id_list")] + [System.Text.Json.Serialization.JsonPropertyName("enroll_id_list")] + public new IList EnrollList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteResponse.cs new file mode 100644 index 00000000..797bb2cf --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/delete 接口的响应。 + /// + public class CgibinMeetingWebinarEnrollDeleteResponse : CgibinMeetingEnrollDeleteResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigRequest.cs new file mode 100644 index 00000000..24e446ea --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/get_config 接口的请求。 + /// + public class CgibinMeetingWebinarEnrollGetConfigRequest : CgibinMeetingEnrollGetConfigRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigResponse.cs new file mode 100644 index 00000000..5a534b62 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigResponse.cs @@ -0,0 +1,35 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/get_config 接口的响应。 + /// + public class CgibinMeetingWebinarEnrollGetConfigResponse : CgibinMeetingEnrollGetConfigResponse + { + public static new class Types + { + public class Question : CgibinMeetingEnrollGetConfigResponse.Types.Question + { + public static new class Types + { + public class Option : CgibinMeetingEnrollGetConfigResponse.Types.Question.Types.Option + { + } + } + + /// + /// 获取或设置选项列表。 + /// + [Newtonsoft.Json.JsonProperty("option_list")] + [System.Text.Json.Serialization.JsonPropertyName("option_list")] + public new Types.Option[]? OptionList { get; set; } = default!; + } + } + + /// + /// 获取或设置问题列表。 + /// + [Newtonsoft.Json.JsonProperty("question_list")] + [System.Text.Json.Serialization.JsonPropertyName("question_list")] + public new Types.Question[] QuestionList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportRequest.cs new file mode 100644 index 00000000..780e2f21 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportRequest.cs @@ -0,0 +1,24 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/import 接口的请求。 + /// + public class CgibinMeetingWebinarEnrollImportRequest : CgibinMeetingEnrollImportRequest + { + public static new class Types + { + public class Enroll : CgibinMeetingEnrollImportRequest.Types.Enroll + { + } + } + + /// + /// 获取或设置报名列表。 + /// + [Newtonsoft.Json.JsonProperty("enroll_list")] + [System.Text.Json.Serialization.JsonPropertyName("enroll_list")] + public new IList EnrollList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportResponse.cs new file mode 100644 index 00000000..bd27ae97 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportResponse.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/import 接口的响应。 + /// + public class CgibinMeetingWebinarEnrollImportResponse : CgibinMeetingEnrollImportResponse + { + public static new class Types + { + public class Enroll : CgibinMeetingEnrollImportResponse.Types.Enroll + { + } + } + + /// + /// 获取或设置报名列表。 + /// + [Newtonsoft.Json.JsonProperty("enroll_list")] + [System.Text.Json.Serialization.JsonPropertyName("enroll_list")] + public new Types.Enroll[] EnrollList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListRequest.cs new file mode 100644 index 00000000..24bba52f --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/list 接口的请求。 + /// + public class CgibinMeetingWebinarEnrollListRequest : CgibinMeetingEnrollListRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListResponse.cs new file mode 100644 index 00000000..aa39a8a7 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListResponse.cs @@ -0,0 +1,35 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/list 接口的响应。 + /// + public class CgibinMeetingWebinarEnrollListResponse : CgibinMeetingEnrollListResponse + { + public static new class Types + { + public class Enroll : CgibinMeetingEnrollListResponse.Types.Enroll + { + public static new class Types + { + public class Answer : CgibinMeetingEnrollListResponse.Types.Enroll.Types.Answer + { + } + } + + /// + /// 获取或设置答题列表。 + /// + [Newtonsoft.Json.JsonProperty("answer_list")] + [System.Text.Json.Serialization.JsonPropertyName("answer_list")] + public new Types.Answer[]? AnswerList { get; set; } + } + } + + /// + /// 获取或设置报名列表。 + /// + [Newtonsoft.Json.JsonProperty("enroll_list")] + [System.Text.Json.Serialization.JsonPropertyName("enroll_list")] + public new Types.Enroll[] EnrollList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdRequest.cs new file mode 100644 index 00000000..ccf401d5 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdRequest.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/query_by_tmp_openid 接口的请求。 + /// + public class CgibinMeetingWebinarEnrollQueryByTempOpenIdRequest : CgibinMeetingEnrollQueryByTempOpenIdRequest + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdResponse.cs new file mode 100644 index 00000000..2e39ba98 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdResponse.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/query_by_tmp_openid 接口的响应。 + /// + public class CgibinMeetingWebinarEnrollQueryByTempOpenIdResponse : CgibinMeetingEnrollQueryByTempOpenIdResponse + { + public static new class Types + { + public class Result : CgibinMeetingEnrollQueryByTempOpenIdResponse.Types.Result + { + } + } + + /// + /// 获取或设置结果列表。 + /// + [Newtonsoft.Json.JsonProperty("enroll_id_list")] + [System.Text.Json.Serialization.JsonPropertyName("enroll_id_list")] + public new Types.Result[] ResultList { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigRequest.cs new file mode 100644 index 00000000..65b5d521 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigRequest.cs @@ -0,0 +1,37 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/set_config 接口的请求。 + /// + public class CgibinMeetingWebinarEnrollSetConfigRequest : CgibinMeetingEnrollSetConfigRequest + { + public static new class Types + { + public class Question : CgibinMeetingEnrollSetConfigRequest.Types.Question + { + public static new class Types + { + public class Option : CgibinMeetingEnrollSetConfigRequest.Types.Question.Types.Option + { + } + } + + /// + /// 获取或设置选项列表。 + /// + [Newtonsoft.Json.JsonProperty("option_list")] + [System.Text.Json.Serialization.JsonPropertyName("option_list")] + public new IList? OptionList { get; set; } + } + } + + /// + /// 获取或设置问题列表。 + /// + [Newtonsoft.Json.JsonProperty("question_list")] + [System.Text.Json.Serialization.JsonPropertyName("question_list")] + public new IList? QuestionList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigResponse.cs new file mode 100644 index 00000000..d9bea88e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/meeting/webinar/enroll/set_config 接口的响应。 + /// + public class CgibinMeetingWebinarEnrollSetConfigResponse : CgibinMeetingEnrollSetConfigResponse + { + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveRequest.json new file mode 100644 index 00000000..b539041b --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveRequest.json @@ -0,0 +1,5 @@ +{ + "meetingid": "MEETINGID1", + "enroll_id_list": [ "xxxxxx", "yyyyyyy" ], + "action": 3 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveResponse.json new file mode 100644 index 00000000..670f53f5 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollApproveResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "handled_count": 2 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteRequest.json new file mode 100644 index 00000000..2100c5d1 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteRequest.json @@ -0,0 +1,8 @@ +{ + "meetingid": "meetingid11234", + "enroll_id_list": [ + { + "enroll_id": "123456" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteResponse.json new file mode 100644 index 00000000..25adf6aa --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollDeleteResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "total_count": 1 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigRequest.json new file mode 100644 index 00000000..0a960b23 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigRequest.json @@ -0,0 +1,3 @@ +{ + "meetingid": "MEETINGID1" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigResponse.json new file mode 100644 index 00000000..19aa7239 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollGetConfigResponse.json @@ -0,0 +1,20 @@ +{ + "errcode": 0, + "errmsg": "ok", + "approve_type": 1, + "is_collect_question": 1, + "no_registration_needed_for_staff": true, + "question_list": [ + { + "is_required": 1, + "question_type": 1, + "question_title": "acd", + "special_type": 1, + "option_list": [ + { + "content": "asr" + } + ] + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportRequest.json new file mode 100644 index 00000000..2949c083 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportRequest.json @@ -0,0 +1,11 @@ +{ + "meetingid": "meetingid11234", + "enroll_list": [ + { + "userid": "USERID", + "area": "86", + "phone_number": "13333333333", + "nick_name": "NICKNAME" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportResponse.json new file mode 100644 index 00000000..02ed6714 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollImportResponse.json @@ -0,0 +1,15 @@ +{ + "errcode": 0, + "errmsg": "ok", + "total_count": 1, + "enroll_list": [ + { + "enroll_id": "123456", + "userid": "USERID", + "area": "86", + "phone_number": "13333333333", + "nick_name": "NICKNAME", + "enroll_code": "CODE" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListRequest.json new file mode 100644 index 00000000..6fb72f5e --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListRequest.json @@ -0,0 +1,6 @@ +{ + "meetingid": "MEETINGID1", + "status": 1, + "cursor": "CURSOR", + "limit": 20 +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListResponse.json new file mode 100644 index 00000000..bd4f7152 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollListResponse.json @@ -0,0 +1,28 @@ +{ + "errcode": 0, + "errmsg": "ok", + "has_more": false, + "next_cursor": "CURSOR", + "enroll_list": [ + { + "enroll_id": 1386442, + "enroll_time": "2023-03-23 10:00:00", + "enroll_source_type": 2, + "nick_name": "ccc", + "status": 3, + "userid": "USERID", + "tmp_openid": "MSOPENID", + "enroll_code": "1111111", + "answer_list": [ + { + "answer_content": [ "A" ], + "is_required": 1, + "question_num": 1, + "question_title": "testqus", + "question_type": 1, + "special_type": 1 + } + ] + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdRequest.json new file mode 100644 index 00000000..3878cf1e --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdRequest.json @@ -0,0 +1,7 @@ +{ + "meetingid": "MEETINGID", + "sorting_rules": 1, + "tmp_openid_list": [ + "agaqwwgdkkddd" + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdResponse.json new file mode 100644 index 00000000..b8f9ad35 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollQueryByTempOpenIdResponse.json @@ -0,0 +1,10 @@ +{ + "errcode": 0, + "errmsg": "ok", + "enroll_id_list": [ + { + "tmp_openid": "agaqwwgdkkddd", + "enroll_id": "mexxxxxxxx" + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigRequest.json new file mode 100644 index 00000000..4a7394e4 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigRequest.json @@ -0,0 +1,19 @@ +{ + "meetingid": "MEETINGID1", + "approve_type": 1, + "is_collect_question": 1, + "no_registration_needed_for_staff": true, + "question_list": [ + { + "is_required": 1, + "question_type": 1, + "question_title": "acd", + "special_type": 1, + "option_list": [ + { + "content": "asr" + } + ] + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigResponse.json new file mode 100644 index 00000000..daead5bf --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinMeeting/Webinar/Enroll/CgibinMeetingWebinarEnrollSetConfigResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "question_count": 1 +}