From 666deca8d46da857ff53ffa1e67a4baff6001346 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Fri, 3 Dec 2021 16:55:29 +0800 Subject: [PATCH] feat(tenpayv3): bump version to v2.1.3 --- CHANGELOG.md | 6 +++++- docs/WechatTenpayV3/Advanced_Extensions.md | 4 +++- .../Advanced_RequestSensitiveDataEncryption.md | 2 +- .../Advanced_ResponseSensitiveDataDecryption.md | 2 +- .../SKIT.FlurlHttpClient.Wechat.TenpayV3.csproj | 2 +- .../WechatTenpayResponseDecryptionTests.cs | 2 ++ 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1b48e752..a8f45dd7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -204,6 +204,10 @@ [展开查看] SKIT.FlurlHttpClient.Wechat.TenpayV3 模块更新日志 +- Release 2.1.3 + + - **修复**:修复部分响应模型解密敏感数据字段时抛出异常的问题。([GitHub Issue #17](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat/issues/17)) + - Release 2.1.2 - **修复**:修复部分嵌套类型中属性的敏感数据不能自动加密的问题。([Gitee Issue #I4K40Y](https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat/issues/I4K40Y)) @@ -212,7 +216,7 @@ - Release 2.1.1 - - **修复**:修复部分场景下 RSA 加密请求敏感信息字段错误的问题。([Gitee Issue #I4JIZC](https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat/issues/I4JIZC)) + - **修复**:修复部分请求模型加密敏感数据字段时抛出异常的问题。([Gitee Issue #I4JIZC](https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat/issues/I4JIZC)) - Release 2.1.0 diff --git a/docs/WechatTenpayV3/Advanced_Extensions.md b/docs/WechatTenpayV3/Advanced_Extensions.md index 66261411..56d24c5b 100644 --- a/docs/WechatTenpayV3/Advanced_Extensions.md +++ b/docs/WechatTenpayV3/Advanced_Extensions.md @@ -54,9 +54,10 @@ public class MyFakeEvent : WechatTenpayEvent.Types.IDecryptedResource ### 敏感信息字段 -如果你扩展的自定义请求或响应模型中包含敏感信息字段,并希望可以通过本库提供的 `EncryptRequestSensitiveProperty()` 和 `DecryptResponseSensitiveProperty()` 两个扩展方法来实现自动加、解密,那么你需要在定义模型时额外指定一个特性: +如果你扩展的自定义请求或响应模型中包含敏感信息字段,并希望可以通过本库提供的 `EncryptRequestSensitiveProperty()` 和 `DecryptResponseSensitiveProperty()` 两个扩展方法来实现自动加、解密,那么你需要在定义模型时额外指定特性: ```csharp +[WechatTenpaySensitive] public class MyFakeRequest : WechatTenpayRequest { [Newtonsoft.Json.JsonProperty("my_fake_props")] @@ -65,6 +66,7 @@ public class MyFakeRequest : WechatTenpayRequest public string MyFakeProps { get; set; } } +[WechatTenpaySensitive] public class MyFakeResponse : WechatTenpayResponse { [Newtonsoft.Json.JsonProperty("my_fake_props")] diff --git a/docs/WechatTenpayV3/Advanced_RequestSensitiveDataEncryption.md b/docs/WechatTenpayV3/Advanced_RequestSensitiveDataEncryption.md index b2967047..c40613b2 100644 --- a/docs/WechatTenpayV3/Advanced_RequestSensitiveDataEncryption.md +++ b/docs/WechatTenpayV3/Advanced_RequestSensitiveDataEncryption.md @@ -85,7 +85,7 @@ var client = new WechatTenpayClient(options); 需要注意的是,使用该扩展方法前需先下载好平台证书,并存入全局的 `CertificateManager`。有关 `CertificateManager` 的更多介绍,请参阅下一小节。 -此外,该扩展方法使用反射、并依赖 `WechatTenpaySensitivePropertyAttribute` 特性,相比较手动加密,可能会存在一定的性能开销。 +此外,该扩展方法使用反射、并依赖 `WechatTenpaySensitiveAttribute`、`WechatTenpaySensitivePropertyAttribute` 特性,相比较手动加密,可能会存在一定的性能开销。 --- diff --git a/docs/WechatTenpayV3/Advanced_ResponseSensitiveDataDecryption.md b/docs/WechatTenpayV3/Advanced_ResponseSensitiveDataDecryption.md index 8717f126..ef4b674d 100644 --- a/docs/WechatTenpayV3/Advanced_ResponseSensitiveDataDecryption.md +++ b/docs/WechatTenpayV3/Advanced_ResponseSensitiveDataDecryption.md @@ -47,4 +47,4 @@ var client = new WechatTenpayClient(options); 这样,本库会在实际收到响应后自动为你调用 `DecryptResponseSensitiveProperty()` 方法。 -此外,该扩展方法使用反射、并依赖 `WechatTenpaySensitivePropertyAttribute` 特性,相比较手动解密,可能会存在一定的性能开销。 +此外,该扩展方法使用反射、并依赖 `WechatTenpaySensitiveAttribute`、`WechatTenpaySensitivePropertyAttribute` 特性,相比较手动解密,可能会存在一定的性能开销。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/SKIT.FlurlHttpClient.Wechat.TenpayV3.csproj b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/SKIT.FlurlHttpClient.Wechat.TenpayV3.csproj index 2ce65b3e..bf256bdf 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/SKIT.FlurlHttpClient.Wechat.TenpayV3.csproj +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/SKIT.FlurlHttpClient.Wechat.TenpayV3.csproj @@ -12,7 +12,7 @@ MIT https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat Flurl.Http Wechat Weixin MicroMessage Tenpay WechatPay WeixinPay Wxpay 微信 微信支付 微信商户 - 2.1.2 + 2.1.3 基于 Flurl.Http 的微信支付 API v3 版客户端,支持直连商户、服务商模式,支持基础支付、代金券、商家券、委托营销、消费卡、支付有礼、银行定向促活、微信支付分、微信先享卡、支付即服务、点金计划、智慧商圈、电商收付通、消费者投诉、商户违规通知、批量转账到零钱等功能。 Fu Diwei git diff --git a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseDecryptionTests.cs b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseDecryptionTests.cs index 9b54ada2..b1370258 100644 --- a/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseDecryptionTests.cs +++ b/test/SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests/WechatTenpayResponseDecryptionTests.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Collections.ObjectModel; using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -56,6 +57,7 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.UnitTests var mock = new Models.GetEcommerceApplymentByOutRequestNumberResponse() { RawStatus = 200, + RawHeaders = new ReadOnlyDictionary(new Dictionary() { { "K", "V" } }), ApplymentState = MockText, AccountValidation = new Models.GetEcommerceApplymentByOutRequestNumberResponse.Types.AccountValidation() {