From 141888e2c3fd03dd6041355104e83c2502f8042f Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Mon, 15 Aug 2022 21:22:56 +0800 Subject: [PATCH] =?UTF-8?q?feat(work):=20=E6=96=B0=E5=A2=9E=E5=BE=AE?= =?UTF-8?q?=E4=BF=A1=E5=AE=A2=E6=9C=8D=E7=9F=A5=E8=AF=86=E5=BA=93=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...chatWorkClientExecuteCgibinKfExtensions.cs | 164 ++++++++++++ .../CgibinKfKnowledgeAddGroupRequest.cs | 15 ++ .../CgibinKfKnowledgeAddGroupResponse.cs | 15 ++ .../CgibinKfKnowledgeDeleteGroupRequest.cs | 15 ++ .../CgibinKfKnowledgeDeleteGroupResponse.cs | 9 + .../CgibinKfKnowledgeListGroupRequest.cs | 29 ++ .../CgibinKfKnowledgeListGroupResponse.cs | 60 +++++ .../CgibinKfKnowledgeModifyGroupRequest.cs | 22 ++ .../CgibinKfKnowledgeModifyGroupResponse.cs | 9 + .../CgibinKfKnowledgeAddIntentRequest.cs | 221 ++++++++++++++++ .../CgibinKfKnowledgeAddIntentResponse.cs | 15 ++ .../CgibinKfKnowledgeDeleteIntentRequest.cs | 15 ++ .../CgibinKfKnowledgeDeleteIntentResponse.cs | 9 + .../CgibinKfKnowledgeListIntentRequest.cs | 36 +++ .../CgibinKfKnowledgeListIntentResponse.cs | 248 ++++++++++++++++++ .../CgibinKfKnowledgeModifyIntentRequest.cs | 142 ++++++++++ .../CgibinKfKnowledgeModifyIntentResponse.cs | 9 + .../CgibinKfKnowledgeAddGroupRequest.json | 3 + .../CgibinKfKnowledgeAddGroupResponse.json | 5 + .../CgibinKfKnowledgeDeleteGroupRequest.json | 3 + .../CgibinKfKnowledgeListGroupRequest.json | 5 + .../CgibinKfKnowledgeListGroupResponse.json | 18 ++ .../CgibinKfKnowledgeModifyGroupRequest.json | 4 + .../CgibinKfKnowledgeAddIntentRequest.json | 61 +++++ .../CgibinKfKnowledgeAddIntentResponse.json | 5 + .../CgibinKfKnowledgeDeleteIntentRequest.json | 3 + .../CgibinKfKnowledgeListIntentRequest.json | 6 + .../CgibinKfKnowledgeListIntentResponse.json | 69 +++++ .../CgibinKfKnowledgeModifyIntentRequest.json | 61 +++++ 29 files changed, 1276 insertions(+) create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentResponse.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentRequest.cs create mode 100644 src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentResponse.cs create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentRequest.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentResponse.json create mode 100644 test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentRequest.json diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs index 4dc37d29..522a640e 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Extensions/WechatWorkClientExecuteCgibinKfExtensions.cs @@ -312,6 +312,170 @@ namespace SKIT.FlurlHttpClient.Wechat.Work } #endregion + #region KnowledgeGroup + /// + /// 异步调用 [POST] /cgi-bin/kf/knowledge/add_group 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95971 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfKnowledgeAddGroupAsync(this WechatWorkClient client, Models.CgibinKfKnowledgeAddGroupRequest 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", "kf", "knowledge", "add_group") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/kf/knowledge/mod_group 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95971 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfKnowledgeModifyGroupAsync(this WechatWorkClient client, Models.CgibinKfKnowledgeModifyGroupRequest 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", "kf", "knowledge", "mod_group") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/kf/knowledge/del_group 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95971 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfKnowledgeDeleteGroupAsync(this WechatWorkClient client, Models.CgibinKfKnowledgeDeleteGroupRequest 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", "kf", "knowledge", "del_group") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/kf/knowledge/list_group 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95971 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfKnowledgeListGroupAsync(this WechatWorkClient client, Models.CgibinKfKnowledgeListGroupRequest 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", "kf", "knowledge", "list_group") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + + #region KnowledgeIntent + /// + /// 异步调用 [POST] /cgi-bin/kf/knowledge/add_intent 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95972 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfKnowledgeAddIntentAsync(this WechatWorkClient client, Models.CgibinKfKnowledgeAddIntentRequest 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", "kf", "knowledge", "add_intent") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/kf/knowledge/mod_intent 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95972 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfKnowledgeModifyIntentAsync(this WechatWorkClient client, Models.CgibinKfKnowledgeModifyIntentRequest 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", "kf", "knowledge", "mod_intent") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/kf/knowledge/del_intent 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95972 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfKnowledgeDeleteIntentAsync(this WechatWorkClient client, Models.CgibinKfKnowledgeDeleteIntentRequest 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", "kf", "knowledge", "del_intent") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /cgi-bin/kf/knowledge/list_intent 接口。 + /// REF: https://developer.work.weixin.qq.com/document/path/95972 + /// + /// + /// + /// + /// + public static async Task ExecuteCgibinKfKnowledgeListIntentAsync(this WechatWorkClient client, Models.CgibinKfKnowledgeListIntentRequest 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", "kf", "knowledge", "list_intent") + .SetQueryParam("access_token", request.AccessToken); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + #endregion + /// /// 异步调用 [POST] /cgi-bin/kf/send_msg 接口。 /// REF: https://developer.work.weixin.qq.com/document/path/94677 diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupRequest.cs new file mode 100644 index 00000000..da120e82 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/add_group 接口的请求。 + /// + public class CgibinKfKnowledgeAddGroupRequest : WechatWorkRequest + { + /// + /// 获取或设置分组名。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupResponse.cs new file mode 100644 index 00000000..1c432919 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/add_group 接口的响应。 + /// + public class CgibinKfKnowledgeAddGroupResponse : WechatWorkResponse + { + /// + /// 获取或设置分组 ID。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public string GroupId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupRequest.cs new file mode 100644 index 00000000..07e51a89 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/del_group 接口的请求。 + /// + public class CgibinKfKnowledgeDeleteGroupRequest : WechatWorkRequest + { + /// + /// 获取或设置分组 ID。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public string GroupId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupResponse.cs new file mode 100644 index 00000000..62446329 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/del_group 接口的响应。 + /// + public class CgibinKfKnowledgeDeleteGroupResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupRequest.cs new file mode 100644 index 00000000..16f58726 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupRequest.cs @@ -0,0 +1,29 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/list_group 接口的请求。 + /// + public class CgibinKfKnowledgeListGroupRequest : WechatWorkRequest + { + /// + /// 获取或设置分组 ID。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public string? GroupId { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("cursor")] + [System.Text.Json.Serialization.JsonPropertyName("cursor")] + public string? Cursor { get; set; } + + /// + /// 获取或设置分页每页数量。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int? Limit { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupResponse.cs new file mode 100644 index 00000000..a6cc6455 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupResponse.cs @@ -0,0 +1,60 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/list_group 接口的响应。 + /// + public class CgibinKfKnowledgeListGroupResponse : WechatWorkResponse + { + public static class Types + { + public class Group + { + /// + /// 获取或设置分组 ID。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public string GroupId { get; set; } = default!; + + /// + /// 获取或设置分组名。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = default!; + + /// + /// 获取或设置是否为默认分组。 + /// + [Newtonsoft.Json.JsonProperty("is_default")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("is_default")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool IsDefault { get; set; } + } + } + + /// + /// 获取或设置分组列表。 + /// + [Newtonsoft.Json.JsonProperty("group_list")] + [System.Text.Json.Serialization.JsonPropertyName("group_list")] + public Types.Group[] GroupList { get; set; } = default!; + + /// + /// 获取或设置是否还有更多数据。 + /// + [Newtonsoft.Json.JsonProperty("has_more")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("has_more")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool HasMore { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_cursor")] + [System.Text.Json.Serialization.JsonPropertyName("next_cursor")] + public string? NextCursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupRequest.cs new file mode 100644 index 00000000..5c7acd4b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupRequest.cs @@ -0,0 +1,22 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/mod_group 接口的请求。 + /// + public class CgibinKfKnowledgeModifyGroupRequest : WechatWorkRequest + { + /// + /// 获取或设置分组 ID。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public string GroupId { get; set; } = string.Empty; + + /// + /// 获取或设置分组名。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupResponse.cs new file mode 100644 index 00000000..5755f985 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/mod_group 接口的响应。 + /// + public class CgibinKfKnowledgeModifyGroupResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentRequest.cs new file mode 100644 index 00000000..2b48056e --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentRequest.cs @@ -0,0 +1,221 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/add_intent 接口的请求。 + /// + public class CgibinKfKnowledgeAddIntentRequest : WechatWorkRequest + { + public static class Types + { + public class Text + { + /// + /// 获取或设置文本内容。 + /// + [Newtonsoft.Json.JsonProperty("content")] + [System.Text.Json.Serialization.JsonPropertyName("content")] + public string Content { get; set; } = string.Empty; + } + + public class Attachment + { + public static class Types + { + public class Image + { + /// + /// 获取或设置图片 MediaId。 + /// + [Newtonsoft.Json.JsonProperty("media_id")] + [System.Text.Json.Serialization.JsonPropertyName("media_id")] + public string MediaId { get; set; } = string.Empty; + } + + public class Link + { + /// + /// 获取或设置图文消息标题。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string Title { get; set; } = string.Empty; + + /// + /// 获取或设置图文消息描述。 + /// + [Newtonsoft.Json.JsonProperty("desc")] + [System.Text.Json.Serialization.JsonPropertyName("desc")] + public string? Description { get; set; } + + /// + /// 获取或设置图文消息 URL。 + /// + [Newtonsoft.Json.JsonProperty("url")] + [System.Text.Json.Serialization.JsonPropertyName("url")] + public string Url { get; set; } = string.Empty; + + /// + /// 获取或设置图文消息封面 URL。 + /// + [Newtonsoft.Json.JsonProperty("pic_url")] + [System.Text.Json.Serialization.JsonPropertyName("pic_url")] + public string? PictureUrl { get; set; } + } + + public class Video + { + /// + /// 获取或设置视频 MediaId。 + /// + [Newtonsoft.Json.JsonProperty("media_id")] + [System.Text.Json.Serialization.JsonPropertyName("media_id")] + public string MediaId { get; set; } = string.Empty; + } + + public class MiniProgram + { + /// + /// 获取或设置小程序 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = string.Empty; + + /// + /// 获取或设置小程序页面路径。 + /// + [Newtonsoft.Json.JsonProperty("pagepath")] + [System.Text.Json.Serialization.JsonPropertyName("pagepath")] + public string PagePath { get; set; } = string.Empty; + + /// + /// 获取或设置小程序标题。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string? Title { get; set; } + + /// + /// 获取或设置小程序封面 MediaId。 + /// + [Newtonsoft.Json.JsonProperty("thumb_media_id")] + [System.Text.Json.Serialization.JsonPropertyName("thumb_media_id")] + public string? ThumbnailMediaId { get; set; } + } + } + + /// + /// 获取或设置附件类型。 + /// + [Newtonsoft.Json.JsonProperty("msgtype")] + [System.Text.Json.Serialization.JsonPropertyName("msgtype")] + public string Type { get; set; } = string.Empty; + + /// + /// 获取或设置图片附件信息。 + /// + [Newtonsoft.Json.JsonProperty("image")] + [System.Text.Json.Serialization.JsonPropertyName("image")] + public Types.Image? Image { get; set; } + + /// + /// 获取或设置图文消息附件信息。 + /// + [Newtonsoft.Json.JsonProperty("link")] + [System.Text.Json.Serialization.JsonPropertyName("link")] + public Types.Link? Link { get; set; } + + /// + /// 获取或设置视频附件信息。 + /// + [Newtonsoft.Json.JsonProperty("video")] + [System.Text.Json.Serialization.JsonPropertyName("video")] + public Types.Video? Video { get; set; } + + /// + /// 获取或设置小程序附件信息。 + /// + [Newtonsoft.Json.JsonProperty("miniprogram")] + [System.Text.Json.Serialization.JsonPropertyName("miniprogram")] + public Types.MiniProgram? MiniProgram { get; set; } + } + + public class Question + { + /// + /// 获取或设置主问题文本信息。 + /// + [Newtonsoft.Json.JsonProperty("text")] + [System.Text.Json.Serialization.JsonPropertyName("text")] + public Text Text { get; set; } = new Text(); + } + + public class SimilarQuestionList + { + /// + /// 获取或设置相似问题列表。 + /// + [Newtonsoft.Json.JsonProperty("items")] + [System.Text.Json.Serialization.JsonPropertyName("items")] + public IList Items { get; set; } = new List(); + } + + public class SimilarQuestionItem + { + /// + /// 获取或设置相似问题文本信息。 + /// + [Newtonsoft.Json.JsonProperty("text")] + [System.Text.Json.Serialization.JsonPropertyName("text")] + public Text Text { get; set; } = new Text(); + } + + public class Answer + { + /// + /// 获取或设置回答文本信息。 + /// + [Newtonsoft.Json.JsonProperty("text")] + [System.Text.Json.Serialization.JsonPropertyName("text")] + public Text Text { get; set; } = new Text(); + + /// + /// 获取或设置附件列表。 + /// + [Newtonsoft.Json.JsonProperty("attachments")] + [System.Text.Json.Serialization.JsonPropertyName("attachments")] + public IList AttachmentList { get; set; } = new List(); + } + } + + /// + /// 获取或设置分组 ID。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public string GroupId { get; set; } = string.Empty; + + /// + /// 获取或设置主问题信息。 + /// + [Newtonsoft.Json.JsonProperty("question")] + [System.Text.Json.Serialization.JsonPropertyName("question")] + public Types.Question Question { get; set; } = new Types.Question(); + + /// + /// 获取或设置相似问题列表。 + /// + [Newtonsoft.Json.JsonProperty("similar_questions")] + [System.Text.Json.Serialization.JsonPropertyName("similar_questions")] + public Types.SimilarQuestionList? SimilarQuestionList { get; set; } + + /// + /// 获取或设置回答列表。 + /// + [Newtonsoft.Json.JsonProperty("answers")] + [System.Text.Json.Serialization.JsonPropertyName("answers")] + public IList AnswerList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentResponse.cs new file mode 100644 index 00000000..d3612c69 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentResponse.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/add_intent 接口的响应。 + /// + public class CgibinKfKnowledgeAddIntentResponse : WechatWorkResponse + { + /// + /// 获取或设置问答 ID。 + /// + [Newtonsoft.Json.JsonProperty("intent_id")] + [System.Text.Json.Serialization.JsonPropertyName("intent_id")] + public string IntentId { get; set; } = default!; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentRequest.cs new file mode 100644 index 00000000..d53d0794 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentRequest.cs @@ -0,0 +1,15 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/del_intent 接口的请求。 + /// + public class CgibinKfKnowledgeDeleteIntentRequest : WechatWorkRequest + { + /// + /// 获取或设置问答 ID。 + /// + [Newtonsoft.Json.JsonProperty("intent_id")] + [System.Text.Json.Serialization.JsonPropertyName("intent_id")] + public string IntentId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentResponse.cs new file mode 100644 index 00000000..6ca19c6c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/del_intent 接口的响应。 + /// + public class CgibinKfKnowledgeDeleteIntentResponse : WechatWorkResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentRequest.cs new file mode 100644 index 00000000..b6aa6ae2 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentRequest.cs @@ -0,0 +1,36 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/list_intent 接口的请求。 + /// + public class CgibinKfKnowledgeListIntentRequest : WechatWorkRequest + { + /// + /// 获取或设置分组 ID。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public string? GroupId { get; set; } + + /// + /// 获取或设置问答 ID。 + /// + [Newtonsoft.Json.JsonProperty("intent_id")] + [System.Text.Json.Serialization.JsonPropertyName("intent_id")] + public string? IntentId { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("cursor")] + [System.Text.Json.Serialization.JsonPropertyName("cursor")] + public string? Cursor { get; set; } + + /// + /// 获取或设置分页每页数量。 + /// + [Newtonsoft.Json.JsonProperty("limit")] + [System.Text.Json.Serialization.JsonPropertyName("limit")] + public int? Limit { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentResponse.cs new file mode 100644 index 00000000..44f0585d --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentResponse.cs @@ -0,0 +1,248 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/list_intent 接口的响应。 + /// + public class CgibinKfKnowledgeListIntentResponse : WechatWorkResponse + { + public static class Types + { + public class Intent + { + public static class Types + { + public class Text + { + /// + /// 获取或设置文本内容。 + /// + [Newtonsoft.Json.JsonProperty("content")] + [System.Text.Json.Serialization.JsonPropertyName("content")] + public string Content { get; set; } = default!; + } + + public class Attachment + { + public static class Types + { + public class Image + { + /// + /// 获取或设置图片文件名。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = default!; + } + + public class Link + { + /// + /// 获取或设置图文消息标题。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string Title { get; set; } = default!; + + /// + /// 获取或设置图文消息描述。 + /// + [Newtonsoft.Json.JsonProperty("desc")] + [System.Text.Json.Serialization.JsonPropertyName("desc")] + public string? Description { get; set; } + + /// + /// 获取或设置图文消息 URL。 + /// + [Newtonsoft.Json.JsonProperty("url")] + [System.Text.Json.Serialization.JsonPropertyName("url")] + public string Url { get; set; } = default!; + + /// + /// 获取或设置图文消息封面 URL。 + /// + [Newtonsoft.Json.JsonProperty("pic_url")] + [System.Text.Json.Serialization.JsonPropertyName("pic_url")] + public string? PictureUrl { get; set; } + } + + public class Video + { + /// + /// 获取或设置视频文件名。 + /// + [Newtonsoft.Json.JsonProperty("name")] + [System.Text.Json.Serialization.JsonPropertyName("name")] + public string Name { get; set; } = default!; + } + + public class MiniProgram + { + /// + /// 获取或设置小程序 AppId。 + /// + [Newtonsoft.Json.JsonProperty("appid")] + [System.Text.Json.Serialization.JsonPropertyName("appid")] + public string AppId { get; set; } = default!; + + /// + /// 获取或设置小程序页面路径。 + /// + [Newtonsoft.Json.JsonProperty("pagepath")] + [System.Text.Json.Serialization.JsonPropertyName("pagepath")] + public string PagePath { get; set; } = default!; + + /// + /// 获取或设置小程序标题。 + /// + [Newtonsoft.Json.JsonProperty("title")] + [System.Text.Json.Serialization.JsonPropertyName("title")] + public string? Title { get; set; } + } + } + + /// + /// 获取或设置附件类型。 + /// + [Newtonsoft.Json.JsonProperty("msgtype")] + [System.Text.Json.Serialization.JsonPropertyName("msgtype")] + public string Type { get; set; } = default!; + + /// + /// 获取或设置图片附件信息。 + /// + [Newtonsoft.Json.JsonProperty("image")] + [System.Text.Json.Serialization.JsonPropertyName("image")] + public Types.Image? Image { get; set; } + + /// + /// 获取或设置图文消息附件信息。 + /// + [Newtonsoft.Json.JsonProperty("link")] + [System.Text.Json.Serialization.JsonPropertyName("link")] + public Types.Link? Link { get; set; } + + /// + /// 获取或设置视频附件信息。 + /// + [Newtonsoft.Json.JsonProperty("video")] + [System.Text.Json.Serialization.JsonPropertyName("video")] + public Types.Video? Video { get; set; } + + /// + /// 获取或设置小程序附件信息。 + /// + [Newtonsoft.Json.JsonProperty("miniprogram")] + [System.Text.Json.Serialization.JsonPropertyName("miniprogram")] + public Types.MiniProgram? MiniProgram { get; set; } + } + + public class Question + { + /// + /// 获取或设置主问题文本信息。 + /// + [Newtonsoft.Json.JsonProperty("text")] + [System.Text.Json.Serialization.JsonPropertyName("text")] + public Text Text { get; set; } = default!; + } + + public class SimilarQuestionList + { + /// + /// 获取或设置相似问题列表。 + /// + [Newtonsoft.Json.JsonProperty("items")] + [System.Text.Json.Serialization.JsonPropertyName("items")] + public SimilarQuestionItem[] Items { get; set; } = default!; + } + + public class SimilarQuestionItem + { + /// + /// 获取或设置相似问题文本信息。 + /// + [Newtonsoft.Json.JsonProperty("text")] + [System.Text.Json.Serialization.JsonPropertyName("text")] + public Text Text { get; set; } = default!; + } + + public class Answer + { + /// + /// 获取或设置回答文本信息。 + /// + [Newtonsoft.Json.JsonProperty("text")] + [System.Text.Json.Serialization.JsonPropertyName("text")] + public Text Text { get; set; } = default!; + + /// + /// 获取或设置附件列表。 + /// + [Newtonsoft.Json.JsonProperty("attachments")] + [System.Text.Json.Serialization.JsonPropertyName("attachments")] + public Attachment[] AttachmentList { get; set; } = default!; + } + } + + /// + /// 获取或设置分组 ID。 + /// + [Newtonsoft.Json.JsonProperty("group_id")] + [System.Text.Json.Serialization.JsonPropertyName("group_id")] + public string GroupId { get; set; } = default!; + + /// + /// 获取或设置问答 ID。 + /// + [Newtonsoft.Json.JsonProperty("intent_id")] + [System.Text.Json.Serialization.JsonPropertyName("intent_id")] + public string IntentId { get; set; } = default!; + + /// + /// 获取或设置主问题信息。 + /// + [Newtonsoft.Json.JsonProperty("question")] + [System.Text.Json.Serialization.JsonPropertyName("question")] + public Types.Question Question { get; set; } = default!; + + /// + /// 获取或设置相似问题列表。 + /// + [Newtonsoft.Json.JsonProperty("similar_questions")] + [System.Text.Json.Serialization.JsonPropertyName("similar_questions")] + public Types.SimilarQuestionList? SimilarQuestionList { get; set; } + + /// + /// 获取或设置回答列表。 + /// + [Newtonsoft.Json.JsonProperty("answers")] + [System.Text.Json.Serialization.JsonPropertyName("answers")] + public Types.Answer[] AnswerList { get; set; } = default!; + } + } + + /// + /// 获取或设置问答列表。 + /// + [Newtonsoft.Json.JsonProperty("intent_list")] + [System.Text.Json.Serialization.JsonPropertyName("intent_list")] + public Types.Intent[] IntentList { get; set; } = default!; + + /// + /// 获取或设置是否还有更多数据。 + /// + [Newtonsoft.Json.JsonProperty("has_more")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))] + [System.Text.Json.Serialization.JsonPropertyName("has_more")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))] + public bool HasMore { get; set; } + + /// + /// 获取或设置翻页标记。 + /// + [Newtonsoft.Json.JsonProperty("next_cursor")] + [System.Text.Json.Serialization.JsonPropertyName("next_cursor")] + public string? NextCursor { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentRequest.cs new file mode 100644 index 00000000..b8859e1b --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentRequest.cs @@ -0,0 +1,142 @@ +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/mod_intent 接口的请求。 + /// + public class CgibinKfKnowledgeModifyIntentRequest : WechatWorkRequest + { + public static class Types + { + public class Text : CgibinKfKnowledgeAddIntentRequest.Types.Text + { + } + + public class Attachment : CgibinKfKnowledgeAddIntentRequest.Types.Attachment + { + public new static class Types + { + public class Image : CgibinKfKnowledgeAddIntentRequest.Types.Attachment.Types.Image + { + } + + public class Link : CgibinKfKnowledgeAddIntentRequest.Types.Attachment.Types.Link + { + } + + public class Video : CgibinKfKnowledgeAddIntentRequest.Types.Attachment.Types.Video + { + } + + public class MiniProgram : CgibinKfKnowledgeAddIntentRequest.Types.Attachment.Types.MiniProgram + { + } + } + + /// + /// 获取或设置图片附件信息。 + /// + [Newtonsoft.Json.JsonProperty("image")] + [System.Text.Json.Serialization.JsonPropertyName("image")] + public new Types.Image? Image { get; set; } + + /// + /// 获取或设置图文消息附件信息。 + /// + [Newtonsoft.Json.JsonProperty("link")] + [System.Text.Json.Serialization.JsonPropertyName("link")] + public new Types.Link? Link { get; set; } + + /// + /// 获取或设置视频附件信息。 + /// + [Newtonsoft.Json.JsonProperty("video")] + [System.Text.Json.Serialization.JsonPropertyName("video")] + public new Types.Video? Video { get; set; } + + /// + /// 获取或设置小程序附件信息。 + /// + [Newtonsoft.Json.JsonProperty("miniprogram")] + [System.Text.Json.Serialization.JsonPropertyName("miniprogram")] + public new Types.MiniProgram? MiniProgram { get; set; } + } + + public class Question : CgibinKfKnowledgeAddIntentRequest.Types.Question + { + /// + /// 获取或设置主问题文本信息。 + /// + [Newtonsoft.Json.JsonProperty("text")] + [System.Text.Json.Serialization.JsonPropertyName("text")] + public new Text? Text { get; set; } + } + + public class SimilarQuestionList : CgibinKfKnowledgeAddIntentRequest.Types.SimilarQuestionList + { + /// + /// 获取或设置相似问题列表。 + /// + [Newtonsoft.Json.JsonProperty("items")] + [System.Text.Json.Serialization.JsonPropertyName("items")] + public new IList Items { get; set; } = new List(); + } + + public class SimilarQuestionItem : CgibinKfKnowledgeAddIntentRequest.Types.SimilarQuestionItem + { + /// + /// 获取或设置相似问题文本信息。 + /// + [Newtonsoft.Json.JsonProperty("text")] + [System.Text.Json.Serialization.JsonPropertyName("text")] + public new Text? Text { get; set; } + } + + public class Answer : CgibinKfKnowledgeAddIntentRequest.Types.Answer + { + /// + /// 获取或设置回答文本信息。 + /// + [Newtonsoft.Json.JsonProperty("text")] + [System.Text.Json.Serialization.JsonPropertyName("text")] + public new Text? Text { get; set; } + + /// + /// 获取或设置附件列表。 + /// + [Newtonsoft.Json.JsonProperty("attachments")] + [System.Text.Json.Serialization.JsonPropertyName("attachments")] + public new IList? AttachmentList { get; set; } + } + } + + /// + /// 获取或设置问答 ID。 + /// + [Newtonsoft.Json.JsonProperty("intent_id")] + [System.Text.Json.Serialization.JsonPropertyName("intent_id")] + public string IntentId { get; set; } = string.Empty; + + /// + /// 获取或设置主问题信息。 + /// + [Newtonsoft.Json.JsonProperty("question")] + [System.Text.Json.Serialization.JsonPropertyName("question")] + public Types.Question? Question { get; set; } + + /// + /// 获取或设置相似问题列表。 + /// + [Newtonsoft.Json.JsonProperty("similar_questions")] + [System.Text.Json.Serialization.JsonPropertyName("similar_questions")] + public Types.SimilarQuestionList? SimilarQuestionList { get; set; } + + /// + /// 获取或设置回答列表。 + /// + [Newtonsoft.Json.JsonProperty("answers")] + [System.Text.Json.Serialization.JsonPropertyName("answers")] + public IList? AnswerList { get; set; } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentResponse.cs new file mode 100644 index 00000000..449e2d19 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/Models/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentResponse.cs @@ -0,0 +1,9 @@ +namespace SKIT.FlurlHttpClient.Wechat.Work.Models +{ + /// + /// 表示 [POST] /cgi-bin/kf/knowledge/mod_intent 接口的响应。 + /// + public class CgibinKfKnowledgeModifyIntentResponse : WechatWorkResponse + { + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupRequest.json new file mode 100644 index 00000000..1c9088b6 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupRequest.json @@ -0,0 +1,3 @@ +{ + "name": "分组名" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupResponse.json new file mode 100644 index 00000000..9b11b23d --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeAddGroupResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "group_id": "GROUP_ID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupRequest.json new file mode 100644 index 00000000..6bcfc8a9 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeDeleteGroupRequest.json @@ -0,0 +1,3 @@ +{ + "group_id": "GROUP_ID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupRequest.json new file mode 100644 index 00000000..9e27c608 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupRequest.json @@ -0,0 +1,5 @@ +{ + "cursor": "CURSOR", + "limit": 100, + "group_id": "GROUP_ID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupResponse.json new file mode 100644 index 00000000..71460e67 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeListGroupResponse.json @@ -0,0 +1,18 @@ +{ + "errcode": 0, + "errmsg": "ok", + "next_cursor": "NEXT_CURSOR", + "has_more": 1, + "group_list": [ + { + "group_id": "GROUP_ID", + "name": "NAME", + "is_default": 1 + }, + { + "group_id": "GROUP_ID", + "name": "NAME", + "is_default": 0 + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupRequest.json new file mode 100644 index 00000000..32d38531 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeGroup/CgibinKfKnowledgeModifyGroupRequest.json @@ -0,0 +1,4 @@ +{ + "group_id": "GROUP_ID", + "name": "分组名" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentRequest.json new file mode 100644 index 00000000..3a8f95fe --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentRequest.json @@ -0,0 +1,61 @@ +{ + "group_id": "GROUP_ID", + "question": { + "text": { + "content": "主问题" + } + }, + "similar_questions": { + "items": [ + { + "text": { + "content": "相似问题1" + } + }, + { + "text": { + "content": "相似问题2" + } + } + ] + }, + "answers": [ + { + "text": { + "content": "问题的回复" + }, + "attachments": [ + { + "msgtype": "image", + "image": { + "media_id": "MEDIA_ID" + } + }, + { + "msgtype": "video", + "video": { + "media_id": "MEDIA_ID" + } + }, + { + "msgtype": "link", + "link": { + "title": "消息标题", + "pic_url": "https://example.pic.com/path", + "desc": "消息描述", + "url": "https://example.link.com/path" + } + }, + { + "msgtype": "miniprogram", + "miniprogram": { + "title": "欢迎报名夏令营", + "thumb_media_id": "THUMB_MEDIA_ID", + "appid": "wx8bd80126147dfAAA", + "pagepath": "/path/index.html" + } + } + ] + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentResponse.json new file mode 100644 index 00000000..0c764579 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeAddIntentResponse.json @@ -0,0 +1,5 @@ +{ + "errcode": 0, + "errmsg": "ok", + "intent_id": "INTENT_ID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentRequest.json new file mode 100644 index 00000000..67cd39ce --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeDeleteIntentRequest.json @@ -0,0 +1,3 @@ +{ + "intent_id": "INTENT_ID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentRequest.json new file mode 100644 index 00000000..2db65ce2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentRequest.json @@ -0,0 +1,6 @@ +{ + "cursor": "CURSOR", + "limit": 100, + "group_id": "GROUP_ID", + "intent_id": "INTENT_ID" +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentResponse.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentResponse.json new file mode 100644 index 00000000..b2b34de2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeListIntentResponse.json @@ -0,0 +1,69 @@ +{ + "errcode": 0, + "errmsg": "ok", + "next_cursor": "NEXT_CURSOR", + "has_more": 1, + "intent_list": [ + { + "group_id": "GROUP_ID", + "intent_id": "INTENT_ID", + "question": { + "text": { + "content": "主问题" + } + }, + "similar_questions": { + "items": [ + { + "text": { + "content": "相似问题1" + } + }, + { + "text": { + "content": "相似问题2" + } + } + ] + }, + "answers": [ + { + "text": { + "content": "问题的回复" + }, + "attachments": [ + { + "msgtype": "image", + "image": { + "name": "图片(仅返回名字).jpg" + } + }, + { + "msgtype": "video", + "video": { + "name": "视频的文件名" + } + }, + { + "msgtype": "link", + "link": { + "title": "消息标题", + "pic_url": "https://example.pic.com/path", + "desc": "消息描述", + "url": "https://example.link.com/path" + } + }, + { + "msgtype": "miniprogram", + "miniprogram": { + "title": "欢迎报名夏令营", + "appid": "wx8bd80126147dfAAA", + "pagepath": "/path/index.html" + } + } + ] + } + ] + } + ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentRequest.json b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentRequest.json new file mode 100644 index 00000000..bc60c0bd --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.Work.UnitTests/ModelSamples/CgibinKf/KnowledgeIntent/CgibinKfKnowledgeModifyIntentRequest.json @@ -0,0 +1,61 @@ +{ + "intent_id": "INTENT_ID", + "question": { + "text": { + "content": "主问题" + } + }, + "similar_questions": { + "items": [ + { + "text": { + "content": "相似问题1" + } + }, + { + "text": { + "content": "相似问题2" + } + } + ] + }, + "answers": [ + { + "text": { + "content": "问题的回复" + }, + "attachments": [ + { + "msgtype": "image", + "image": { + "media_id": "MEDIA_ID" + } + }, + { + "msgtype": "video", + "video": { + "media_id": "MEDIA_ID" + } + }, + { + "msgtype": "link", + "link": { + "title": "消息标题", + "pic_url": "https://example.pic.com/path", + "desc": "消息描述", + "url": "https://example.link.com/path" + } + }, + { + "msgtype": "miniprogram", + "miniprogram": { + "title": "欢迎报名夏令营", + "thumb_media_id": "THUMB_MEDIA_ID", + "appid": "wx8bd80126147dfAAA", + "pagepath": "/path/index.html" + } + } + ] + } + ] +}