diff --git a/src/Senparc.Weixin.MP/Senparc.Weixin.MP.Test/OpenAPIs/OpenApiTests.cs b/src/Senparc.Weixin.MP/Senparc.Weixin.MP.Test/OpenAPIs/OpenApiTests.cs index 598a8dff2a..b3c6279f8b 100644 --- a/src/Senparc.Weixin.MP/Senparc.Weixin.MP.Test/OpenAPIs/OpenApiTests.cs +++ b/src/Senparc.Weixin.MP/Senparc.Weixin.MP.Test/OpenAPIs/OpenApiTests.cs @@ -1,5 +1,6 @@ using Microsoft.VisualStudio.TestTools.UnitTesting; using Senparc.CO2NET.Extensions; +using Senparc.Weixin.Helpers; using Senparc.Weixin.MP.OpenAPIs; using Senparc.Weixin.MP.Test.CommonAPIs; using Senparc.WeixinTests; @@ -53,10 +54,7 @@ public void RidGetTest() Thread.Sleep(1000);//时间太快rid还没有被记录 - var regex = new Regex("rid:(?[^\"]+)"); - var ridResult = regex.Match(ex.JsonResult.errmsg); - Assert.IsTrue(ridResult.Success); - var rid = ridResult.Groups["rid"].Value; + var rid = ex.GetRid(); Console.WriteLine("rid:" + rid); var result = OpenApi.RidGet(appId, "62e56973-0c7be0b1-368b3439"); diff --git a/src/Senparc.Weixin/Senparc.Weixin/Helpers/JsonResultHelper.cs b/src/Senparc.Weixin/Senparc.Weixin/Helpers/JsonResultHelper.cs new file mode 100644 index 0000000000..59c368f9ad --- /dev/null +++ b/src/Senparc.Weixin/Senparc.Weixin/Helpers/JsonResultHelper.cs @@ -0,0 +1,81 @@ +#region Apache License Version 2.0 +/*---------------------------------------------------------------- + +Copyright 2022 Jeffrey Su & Suzhou Senparc Network Technology Co.,Ltd. + +Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file +except in compliance with the License. You may obtain a copy of the License at + +http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software distributed under the +License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +either express or implied. See the License for the specific language governing permissions +and limitations under the License. + +Detail: https://github.com/JeffreySu/WeiXinMPSDK/blob/master/license.md + +----------------------------------------------------------------*/ +#endregion Apache License Version 2.0 + +/*---------------------------------------------------------------- + Copyright (C) 2022 Senparc + + 文件名:JsonResultHelper.cs + 文件功能描述:JsonResult 帮助类 + + 创建标识:Senparc - 20220731 + +----------------------------------------------------------------*/ + +using Senparc.Weixin.Entities; +using Senparc.Weixin.Exceptions; +using System.Text.RegularExpressions; + +namespace Senparc.Weixin.Helpers +{ + /// + /// JsonResult 帮助类 + /// + public static class JsonResultHelper + { + /// + /// 获取错误信息中的 rid 信息 + /// + /// errmsg + /// + public static string GetRid(string errmsg) + { + var regex = new Regex("rid:(?[^\"]+)"); + var ridResult = regex.Match(errmsg); + if (ridResult.Success) + { + return ridResult.Groups["rid"].Value; + } + else + { + return null; + } + } + + /// + /// 获取错误信息中的 rid 信息 + /// + /// WxJsonResult + /// + public static string GetRid(this WxJsonResult wxJsonResult) + { + return GetRid(wxJsonResult.errmsg); + } + + /// + /// 获取错误信息中的 rid 信息 + /// + /// ErrorJsonResultException + /// + public static string GetRid(this ErrorJsonResultException ex) + { + return ex.JsonResult.GetRid(); + } + } +} diff --git a/src/Senparc.Weixin/Senparc.Weixin/Senparc.Weixin.net6.csproj b/src/Senparc.Weixin/Senparc.Weixin/Senparc.Weixin.net6.csproj index a817bb0d6c..f2d8c53f47 100644 --- a/src/Senparc.Weixin/Senparc.Weixin/Senparc.Weixin.net6.csproj +++ b/src/Senparc.Weixin/Senparc.Weixin/Senparc.Weixin.net6.csproj @@ -329,7 +329,11 @@ v6.15 最低 .NET Framework 版本升级至 4.6.2 v6.15.2 更新 ReturnCode 枚举,添加“半屏小程序管理”代码 v6.15.3 使用最新 CO2NET,处理微信服务器无法识别中文文件名的问题。 - + v6.15.4 + 1、更新 TryCommonApiBase 异常抛出逻辑 + 2、添加 JsonResultHelper + 3、更新 ReturnCode 枚举,OpenApi 中的错误代码 + https://github.com/JeffreySu/WeiXinMPSDK