diff --git a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Extensions/WechatOpenAIClientExecuteSkillStoreExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Extensions/WechatOpenAIClientExecuteSkillStoreExtensions.cs new file mode 100644 index 00000000..89d28ba4 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Extensions/WechatOpenAIClientExecuteSkillStoreExtensions.cs @@ -0,0 +1,90 @@ +using System; +using System.Collections.Generic; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using Flurl; +using Flurl.Http; + +namespace SKIT.FlurlHttpClient.Wechat.OpenAI +{ + public static class WechatOpenAIClientExecuteSkillStoreExtensions + { + /// + /// 异步调用 [POST] /v2/skill_store/get_list 接口。 + /// REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/skill_store/get_store_skill_list.html + /// + /// + /// + /// + /// + public static async Task ExecuteSkillStoreGetListAsync(this WechatOpenAIClient client, Models.SkillStoreGetListRequest 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, "v2", "skill_store", "get_list"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /v2/skill_store/bot_acquire_state/update 接口。 + /// REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/skill_store/update_bot_acquire_state.html + /// + /// + /// + /// + /// + public static async Task ExecuteSkillStoreBotAcquireStateUpdateAsync(this WechatOpenAIClient client, Models.SkillStoreBotAcquireStateUpdateRequest 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, "v2", "skill_store", "bot_acquire_state", "update"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /v2/skill_store/bot_switch_state/update 接口。 + /// REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/skill_store/batch_update_state.html + /// + /// + /// + /// + /// + public static async Task ExecuteSkillStoreBotSwitchStateUpdateAsync(this WechatOpenAIClient client, Models.SkillStoreBotSwitchStateUpdateRequest 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, "v2", "skill_store", "bot_switch_state", "update"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + + /// + /// 异步调用 [POST] /v2/skill_store/builtin_skill_switch/update 接口。 + /// REF: https://developers.weixin.qq.com/doc/aispeech/openapi/api/v2/skill_store/update_builtin_skill_switch.html + /// + /// + /// + /// + /// + public static async Task ExecuteSkillStoreBuiltinSkillSwitchUpdateAsync(this WechatOpenAIClient client, Models.SkillStoreBuiltinSkillSwitchUpdateRequest 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, "v2", "skill_store", "builtin_skill_switch", "update"); + + return await client.SendRequestWithJsonAsync(flurlReq, data: request, cancellationToken: cancellationToken); + } + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotAcquireStateUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotAcquireStateUpdateRequest.cs new file mode 100644 index 00000000..a6672942 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotAcquireStateUpdateRequest.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models +{ + /// + /// 表示 [POST] /v2/skill_store/bot_acquire_state/update 接口的请求。 + /// + public class SkillStoreBotAcquireStateUpdateRequest : WechatOpenAIRequest + { + /// + /// 获取或设置技能 ID。 + /// + [Newtonsoft.Json.JsonProperty("skill_id")] + [System.Text.Json.Serialization.JsonPropertyName("skill_id")] + public string SkillId { get; set; } = string.Empty; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotAcquireStateUpdateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotAcquireStateUpdateResponse.cs new file mode 100644 index 00000000..ad73f9b2 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotAcquireStateUpdateResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models +{ + /// + /// 表示 [POST] /v2/skill_store/bot_acquire_state/update 接口的响应。 + /// + public class SkillStoreBotAcquireStateUpdateResponse : WechatOpenAIResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotSwitchStateUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotSwitchStateUpdateRequest.cs new file mode 100644 index 00000000..96f29979 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotSwitchStateUpdateRequest.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models +{ + /// + /// 表示 [POST] /v2/skill_store/bot_switch_state/update 接口的请求。 + /// + public class SkillStoreBotSwitchStateUpdateRequest : WechatOpenAIRequest + { + /// + /// 获取或设置技能 ID。 + /// + [Newtonsoft.Json.JsonProperty("skill_id")] + [System.Text.Json.Serialization.JsonPropertyName("skill_id")] + public string SkillId { get; set; } = string.Empty; + + /// + /// 获取或设置要开启技能开关的机器人 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("on_bot_id_list")] + [System.Text.Json.Serialization.JsonPropertyName("on_bot_id_list")] + public IList OnBotIdList { get; set; } = new List(); + + /// + /// 获取或设置要关闭技能开关的机器人 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("off_bot_id_list")] + [System.Text.Json.Serialization.JsonPropertyName("off_bot_id_list")] + public IList OffBotIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotSwitchStateUpdateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotSwitchStateUpdateResponse.cs new file mode 100644 index 00000000..a3a7423c --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBotSwitchStateUpdateResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models +{ + /// + /// 表示 [POST] /v2/skill_store/bot_switch_state/update 接口的响应。 + /// + public class SkillStoreBotSwitchStateUpdateResponse : WechatOpenAIResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBuiltinSkillSwitchUpdateRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBuiltinSkillSwitchUpdateRequest.cs new file mode 100644 index 00000000..bf5ff242 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBuiltinSkillSwitchUpdateRequest.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models +{ + /// + /// 表示 [POST] /v2/skill_store/builtin_skill_switch/update 接口的请求。 + /// + public class SkillStoreBuiltinSkillSwitchUpdateRequest : WechatOpenAIRequest + { + /// + /// 获取或设置技能名称。 + /// + [Newtonsoft.Json.JsonProperty("skill_name")] + [System.Text.Json.Serialization.JsonPropertyName("skill_name")] + public string SkillName { get; set; } = string.Empty; + + /// + /// 获取或设置要开启技能开关的机器人 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("on_bot_id_list")] + [System.Text.Json.Serialization.JsonPropertyName("on_bot_id_list")] + public IList OnBotIdList { get; set; } = new List(); + + /// + /// 获取或设置要关闭技能开关的机器人 ID 列表。 + /// + [Newtonsoft.Json.JsonProperty("off_bot_id_list")] + [System.Text.Json.Serialization.JsonPropertyName("off_bot_id_list")] + public IList OffBotIdList { get; set; } = new List(); + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBuiltinSkillSwitchUpdateResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBuiltinSkillSwitchUpdateResponse.cs new file mode 100644 index 00000000..a838ed08 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreBuiltinSkillSwitchUpdateResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models +{ + /// + /// 表示 [POST] /v2/skill_store/builtin_skill_switch/update 接口的响应。 + /// + public class SkillStoreBuiltinSkillSwitchUpdateResponse : WechatOpenAIResponse + { + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreGetListRequest.cs b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreGetListRequest.cs new file mode 100644 index 00000000..407e35f6 --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreGetListRequest.cs @@ -0,0 +1,48 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models +{ + /// + /// 表示 [POST] /v2/skill_store/get_list 接口的请求。 + /// + public class SkillStoreGetListRequest : WechatOpenAIRequest + { + /// + /// 获取或设置关键字。 + /// + [Newtonsoft.Json.JsonProperty("keyword")] + [System.Text.Json.Serialization.JsonPropertyName("keyword")] + public string? Keyword { get; set; } + + /// + /// 获取或设置技能类别。 + /// + [Newtonsoft.Json.JsonProperty("category")] + [System.Text.Json.Serialization.JsonPropertyName("category")] + public string? Category { get; set; } + + /// + /// 获取或设置分类字段。 + /// + [Newtonsoft.Json.JsonProperty("order")] + [System.Text.Json.Serialization.JsonPropertyName("order")] + public int Order { get; set; } + + /// + /// 获取或设置分页页数。 + /// 默认值:1 + /// + [Newtonsoft.Json.JsonProperty("page")] + [System.Text.Json.Serialization.JsonPropertyName("page")] + public int Page { get; set; } = 1; + + /// + /// 获取或设置分页每页数量。 + /// 默认值:10 + /// + [Newtonsoft.Json.JsonProperty("size")] + [System.Text.Json.Serialization.JsonPropertyName("size")] + public int Limit { get; set; } = 10; + } +} diff --git a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreGetListResponse.cs b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreGetListResponse.cs new file mode 100644 index 00000000..32ba36fa --- /dev/null +++ b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/Models/SkillStore/SkillStoreGetListResponse.cs @@ -0,0 +1,152 @@ +using System; +using System.Collections.Generic; + +namespace SKIT.FlurlHttpClient.Wechat.OpenAI.Models +{ + /// + /// 表示 [POST] /v2/skill_store/get_list 接口的响应。 + /// + public class SkillStoreGetListResponse : WechatOpenAIResponse + { + public static class Types + { + public class Data + { + public static class Types + { + public class Skill + { + public static class Types + { + public class Bot + { + /// + /// 获取或设置机器人总数。 + /// + [Newtonsoft.Json.JsonProperty("count")] + [System.Text.Json.Serialization.JsonPropertyName("count")] + public int TotalCount { get; set; } + + /// + /// 获取或设置开启的机器人数。 + /// + [Newtonsoft.Json.JsonProperty("on_num")] + [System.Text.Json.Serialization.JsonPropertyName("on_num")] + public int OnCount { get; set; } + } + } + + /// + /// 获取或设置技能 ID。 + /// + [Newtonsoft.Json.JsonProperty("skill_id")] + [System.Text.Json.Serialization.JsonPropertyName("skill_id")] + public string SkillId { get; set; } = default!; + + /// + /// 获取或设置技能名称。 + /// + [Newtonsoft.Json.JsonProperty("skill_name")] + [System.Text.Json.Serialization.JsonPropertyName("skill_name")] + public string SkillName { get; set; } = default!; + + /// + /// 获取或设置机器人名称。 + /// + [Newtonsoft.Json.JsonProperty("bot_name")] + [System.Text.Json.Serialization.JsonPropertyName("bot_name")] + public string BotName { get; set; } = default!; + + /// + /// 获取或设置是否已获取。 + /// + [Newtonsoft.Json.JsonProperty("acquired")] + [System.Text.Json.Serialization.JsonPropertyName("acquired")] + public bool IsAcquired { get; set; } + + /// + /// 获取或设置获取时间。 + /// + [Newtonsoft.Json.JsonProperty("acquired_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RegularNullableDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("acquired_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RegularNullableDateTimeOffsetConverter))] + public DateTimeOffset? AcquireTime { get; set; } + + /// + /// 获取或设置机器人信息。 + /// + [Newtonsoft.Json.JsonProperty("bot_info")] + [System.Text.Json.Serialization.JsonPropertyName("bot_info")] + public Types.Bot Bot { get; set; } = default!; + + /// + /// 获取或设置分类。 + /// + [Newtonsoft.Json.JsonProperty("category")] + [System.Text.Json.Serialization.JsonPropertyName("category")] + public string Category { get; set; } = default!; + + /// + /// 获取或设置描述。 + /// + [Newtonsoft.Json.JsonProperty("desc")] + [System.Text.Json.Serialization.JsonPropertyName("desc")] + public string Description { get; set; } = default!; + + /// + /// 获取或设置热度。 + /// + [Newtonsoft.Json.JsonProperty("hot")] + [System.Text.Json.Serialization.JsonPropertyName("hot")] + public int Hot { get; set; } + + /// + /// 获取或设置话术举例列表。 + /// + [Newtonsoft.Json.JsonProperty("statement_case_list")] + [System.Text.Json.Serialization.JsonPropertyName("statement_case_list")] + public string[] StatementCaseList { get; set; } = default!; + + /// + /// 获取或设置状态。 + /// + [Newtonsoft.Json.JsonProperty("state")] + [System.Text.Json.Serialization.JsonPropertyName("state")] + public int State { get; set; } + + /// + /// 获取或设置技能开关。 + /// + [Newtonsoft.Json.JsonProperty("switch")] + [System.Text.Json.Serialization.JsonPropertyName("switch")] + public bool Switch { get; set; } + + /// + /// 获取或设置修改时间。 + /// + [Newtonsoft.Json.JsonProperty("update_time")] + [Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.RegularDateTimeOffsetConverter))] + [System.Text.Json.Serialization.JsonPropertyName("update_time")] + [System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.RegularDateTimeOffsetConverter))] + public DateTimeOffset UpdateTime { get; set; } + } + } + + /// + /// 获取或设置技能列表。 + /// + [Newtonsoft.Json.JsonProperty("list")] + [System.Text.Json.Serialization.JsonPropertyName("list")] + public Types.Skill[] SkillList { get; set; } = default!; + + /// + /// 获取或设置技能总数量。 + /// + [Newtonsoft.Json.JsonProperty("count")] + [System.Text.Json.Serialization.JsonPropertyName("count")] + public int TotalCount { get; set; } + } + } + } +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotAcquireStateUpdateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotAcquireStateUpdateRequest.json new file mode 100644 index 00000000..222f7b79 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotAcquireStateUpdateRequest.json @@ -0,0 +1,3 @@ +{ + "skill_id": "23e21b8d4e226d046b4e" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotAcquireStateUpdateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotAcquireStateUpdateResponse.json new file mode 100644 index 00000000..a2217ea2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotAcquireStateUpdateResponse.json @@ -0,0 +1,5 @@ +{ + "code": 0, + "msg": "success", + "request_id": "255i0ug8-l9q4-3801-44ft-w7csjn9e5142" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotSwitchStateUpdateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotSwitchStateUpdateRequest.json new file mode 100644 index 00000000..50205eda --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotSwitchStateUpdateRequest.json @@ -0,0 +1,5 @@ +{ + "skill_id": "21c705957fc5af9fc32e", + "on_bot_id_list": [ "1dzcmrij0zyvexs4llblxepwclfvnq3fv", "2dzcmrij0zyvexs4llblxepwclfvnq3fv" ], + "off_bot_id_list": [ "dzcmrij0zyvexs4llblxepwclfvnq3fv", "3dzcmrij0zyvexs4llblxepwclfvnq3fv" ] +} diff --git a/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotSwitchStateUpdateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotSwitchStateUpdateResponse.json new file mode 100644 index 00000000..a2217ea2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBotSwitchStateUpdateResponse.json @@ -0,0 +1,5 @@ +{ + "code": 0, + "msg": "success", + "request_id": "255i0ug8-l9q4-3801-44ft-w7csjn9e5142" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBuiltinSkillSwitchUpdateRequest.json b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBuiltinSkillSwitchUpdateRequest.json new file mode 100644 index 00000000..e6b891fd --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBuiltinSkillSwitchUpdateRequest.json @@ -0,0 +1,5 @@ +{ + "skill_name": "天气", + "on_bot_id_list": [ "1dzcmrij0zyvexs4llblxepwclfvnq3fv", "2dzcmrij0zyvexs4llblxepwclfvnq3fv" ], + "off_bot_id_list": [ "dzcmrij0zyvexs4llblxepwclfvnq3fv", "3dzcmrij0zyvexs4llblxepwclfvnq3fv" ] +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBuiltinSkillSwitchUpdateResponse.json b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBuiltinSkillSwitchUpdateResponse.json new file mode 100644 index 00000000..a2217ea2 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreBuiltinSkillSwitchUpdateResponse.json @@ -0,0 +1,5 @@ +{ + "code": 0, + "msg": "success", + "request_id": "255i0ug8-l9q4-3801-44ft-w7csjn9e5142" +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreGetListRequest.json b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreGetListRequest.json new file mode 100644 index 00000000..b4c54cb9 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreGetListRequest.json @@ -0,0 +1,7 @@ +{ + "category": "", + "keyword": "", + "order": 1, + "page": 1, + "size": 10 +} \ No newline at end of file diff --git a/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreGetListResponse.json b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreGetListResponse.json new file mode 100644 index 00000000..c9d87641 --- /dev/null +++ b/test/SKIT.FlurlHttpClient.Wechat.OpenAI.UnitTests/ModelSamples/SkillStore/SkillStoreGetListResponse.json @@ -0,0 +1,30 @@ +{ + "code": 0, + "data": { + "count": 6, + "list": [ + { + "acquired": false, + "bot_info": { + "count": 2, + "on_num": 1 + }, + "bot_name": "讲笑话机器人", + "category": "游戏", + "desc": "提供多种娱乐技能,具体包括:讲情话、夸夸我、讲笑话、玩成语接龙等互动娱乐技能。其中擅长讲笑话,尤其是冷笑话;擅长讲情话,尤其是土味情话;还能提供花式夸人,玩成语接龙游戏等技能。", + "hot": 0, + "skill_id": "buarvgld1evpg4faxacg", + "skill_name": "小微欢乐多", + "state": 0, + "statement_case_list": [ + "讲笑话", + "讲情话" + ], + "switch": true, + "update_time": "2020-07-29 11:38:39" + } + ] + }, + "msg": "success", + "request_id": "255i0ug8-l9q4-3801-44ft-w7csjn9e5142" +} \ No newline at end of file