From 4a2ab538e947bd7b2739dbe79070b3001509f9a2 Mon Sep 17 00:00:00 2001 From: Fu Diwei Date: Thu, 2 Mar 2023 19:36:47 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E5=AE=8C=E5=96=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 4 +- README.md | 20 ++----- ...ed_AccessToken.md => Basic_AccessToken.md} | 0 ...Definition.md => Basic_ModelDefinition.md} | 2 +- docs/WechatAds/README.md | 18 +++--- ...ation.md => Basic_EventDeserialization.md} | 0 ...md => Basic_EventSignatureVerification.md} | 9 +++ ...nced_Extensions.md => Basic_Extensions.md} | 2 +- ...Definition.md => Basic_ModelDefinition.md} | 2 +- ...ryption.md => Basic_OpenDataDecryption.md} | 0 ...nced_Parameters.md => Basic_Parameters.md} | 0 docs/WechatApi/README.md | 36 +++++------ ...Definition.md => Basic_ModelDefinition.md} | 2 +- docs/WechatOpenAI/README.md | 13 ++-- ...md => Basic_EventSignatureVerification.md} | 2 +- ...Definition.md => Basic_ModelDefinition.md} | 2 +- ...> Basic_RequestSensitiveDataEncryption.md} | 0 ... Basic_ResponseSensitiveDataDecryption.md} | 0 ...=> Basic_ResponseSignatureVerification.md} | 0 docs/WechatTenpayBusiness/README.md | 33 +++++----- ...yption.md => Basic_EventInfoDecryption.md} | 0 ...md => Basic_EventSignatureVerification.md} | 0 ...Definition.md => Basic_ModelDefinition.md} | 2 +- ...nced_Parameters.md => Basic_Parameters.md} | 0 docs/WechatTenpayV2/README.md | 36 ++++++----- ...er.md => Basic_CertificateSerialNumber.md} | 0 ...on.md => Basic_EventResourceDecryption.md} | 2 +- ...md => Basic_EventSignatureVerification.md} | 6 +- ...nced_Extensions.md => Basic_Extensions.md} | 2 +- ...Definition.md => Basic_ModelDefinition.md} | 2 +- ...nced_Parameters.md => Basic_Parameters.md} | 0 ...> Basic_RequestSensitiveDataEncryption.md} | 0 ... Basic_ResponseSensitiveDataDecryption.md} | 0 ...=> Basic_ResponseSignatureVerification.md} | 4 +- ...ed_SMAlgorithm.md => Basic_SMAlgorithm.md} | 0 docs/WechatTenpayV3/README.md | 60 +++++++++---------- ...ation.md => Basic_EventDeserialization.md} | 0 ...nced_Extensions.md => Basic_Extensions.md} | 2 +- ...Definition.md => Basic_ModelDefinition.md} | 2 +- ...nced_Parameters.md => Basic_Parameters.md} | 0 docs/WechatWork/README.md | 29 ++++----- .../Controllers/TenpayNotifyController.cs | 4 +- ...yCertificateRefreshingBackgroundService.cs | 4 +- .../WechatTenpayHttpClientFactory.cs | 4 +- .../Controllers/TenpayNotifyController.cs | 4 +- ...enpayCertificateRefreshingBackgroundJob.cs | 4 +- .../WechatTenpayHttpClientFactory.cs | 4 +- src/SKIT.FlurlHttpClient.Wechat.Ads/README.md | 2 +- ...piClientExecuteCgibinMaterialExtensions.cs | 2 +- src/SKIT.FlurlHttpClient.Wechat.Api/README.md | 4 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 6 +- .../README.md | 4 +- 55 files changed, 173 insertions(+), 167 deletions(-) rename docs/WechatAds/{Advanced_AccessToken.md => Basic_AccessToken.md} (100%) rename docs/WechatAds/{Advanced_ModelDefinition.md => Basic_ModelDefinition.md} (95%) rename docs/WechatApi/{Advanced_EventDataDeserialization.md => Basic_EventDeserialization.md} (100%) rename docs/WechatApi/{Advanced_EventDataSignatureVerification.md => Basic_EventSignatureVerification.md} (80%) rename docs/WechatApi/{Advanced_Extensions.md => Basic_Extensions.md} (97%) rename docs/WechatApi/{Advanced_ModelDefinition.md => Basic_ModelDefinition.md} (97%) rename docs/WechatApi/{Advanced_OpenDataDecryption.md => Basic_OpenDataDecryption.md} (100%) rename docs/WechatApi/{Advanced_Parameters.md => Basic_Parameters.md} (100%) rename docs/WechatOpenAI/{Advanced_ModelDefinition.md => Basic_ModelDefinition.md} (94%) rename docs/WechatTenpayBusiness/{Advanced_EventSignatureVerification.md => Basic_EventSignatureVerification.md} (88%) rename docs/WechatTenpayBusiness/{Advanced_ModelDefinition.md => Basic_ModelDefinition.md} (96%) rename docs/WechatTenpayBusiness/{Advanced_RequestSensitiveDataEncryption.md => Basic_RequestSensitiveDataEncryption.md} (100%) rename docs/WechatTenpayBusiness/{Advanced_ResponseSensitiveDataDecryption.md => Basic_ResponseSensitiveDataDecryption.md} (100%) rename docs/WechatTenpayBusiness/{Advanced_ResponseSignatureVerification.md => Basic_ResponseSignatureVerification.md} (100%) rename docs/WechatTenpayV2/{Advanced_EventInfoDecryption.md => Basic_EventInfoDecryption.md} (100%) rename docs/WechatTenpayV2/{Advanced_EventSignatureVerification.md => Basic_EventSignatureVerification.md} (100%) rename docs/WechatTenpayV2/{Advanced_ModelDefinition.md => Basic_ModelDefinition.md} (99%) rename docs/WechatTenpayV2/{Advanced_Parameters.md => Basic_Parameters.md} (100%) rename docs/WechatTenpayV3/{Advanced_CertificateSerialNumber.md => Basic_CertificateSerialNumber.md} (100%) rename docs/WechatTenpayV3/{Advanced_EventResourceDecryption.md => Basic_EventResourceDecryption.md} (92%) rename docs/WechatTenpayV3/{Advanced_EventSignatureVerification.md => Basic_EventSignatureVerification.md} (87%) rename docs/WechatTenpayV3/{Advanced_Extensions.md => Basic_Extensions.md} (98%) rename docs/WechatTenpayV3/{Advanced_ModelDefinition.md => Basic_ModelDefinition.md} (99%) rename docs/WechatTenpayV3/{Advanced_Parameters.md => Basic_Parameters.md} (100%) rename docs/WechatTenpayV3/{Advanced_RequestSensitiveDataEncryption.md => Basic_RequestSensitiveDataEncryption.md} (100%) rename docs/WechatTenpayV3/{Advanced_ResponseSensitiveDataDecryption.md => Basic_ResponseSensitiveDataDecryption.md} (100%) rename docs/WechatTenpayV3/{Advanced_ResponseSignatureVerification.md => Basic_ResponseSignatureVerification.md} (92%) rename docs/WechatTenpayV3/{Advanced_SMAlgorithm.md => Basic_SMAlgorithm.md} (100%) rename docs/WechatWork/{Advanced_EventDataDeserialization.md => Basic_EventDeserialization.md} (100%) rename docs/WechatWork/{Advanced_Extensions.md => Basic_Extensions.md} (97%) rename docs/WechatWork/{Advanced_ModelDefinition.md => Basic_ModelDefinition.md} (96%) rename docs/WechatWork/{Advanced_Parameters.md => Basic_Parameters.md} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e05b2bf..3f3c38d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,9 +15,9 @@ - 一般会产生破坏性更新。 3. “**修复**”: - 修复了已知的一些问题; - - 不会产生破坏性更新。 + - 一般不会产生破坏性更新。 -注意,预览版本(版本号将以 `-alpha`、`-beta`、`-rc` 结尾)不会在更新日志中呈现。如非必要,请不要将预览版本应用于生产项目。 +注意,预发行版(版本号将以 `-alpha`、`-beta`、`-rc` 结尾)不会在更新日志中呈现。如非必要,请不要将预发行版应用于生产项目。 自 v2.0.0 版本起,各 SDK 将与[公共组件](https://www.nuget.org/packages/SKIT.FlurlHttpClient.Common)的主版本号保持对齐关系,即: diff --git a/README.md b/README.md index 6de4ff8f..2a8d10de 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![Visitors](https://visitor-badge.laobi.icu/badge?page_id=fudiwei.DotNetCore.SKIT.FlurlHttpClient.Wechat&title=Visitors)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![License](https://img.shields.io/github/license/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?label=License)](https://mit-license.org/) -基于 `Flurl.Http` 的微信 API HTTP 客户端,支持公众平台、开放平台、商户平台、企业微信、广告平台、对话开放平台等模块。 +基于 `Flurl.Http` 的微信 HTTP API SDK,目前已包含公众平台、开放平台、商户平台、企业微信、广告平台、对话开放平台等模块。 > 更多 SKIT.FlurlHttpClient 系列开发工具包请[点此查看](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient)。 @@ -16,22 +16,13 @@ ## 特性 - 基于 `Flurl.Http`,可与 `IHttpClientFactory` 集成。 - -- 支持 .NET Framework 4.6.1+、.NET Standard 2.0+、.NET Core 2.0+、.NET 5、.NET 6。 - +- 支持 .NET Framework 4.6.1+、.NET Standard 2.0+、.NET Core 2.0+、.NET 5+。 - 支持 Windows / Linux / macOS 多平台部署。 - - 支持 `System.Text.Json`(默认)和 `Newtonsoft.Json` 两种序列化方式。 - -- 异步式编程。 - - 强类型接口模型。 - -- 提供拦截器功能。 - -- 包含 SourceLink 符号文件,可在项目中无源代码调试。 - -- 完整、完善、完全的微信 API 封装。 +- 全异步式编程。 +- 提供 SourceLink 调试符号文件。 +- 完整、完善、完全的微信 HTTP API 封装。 --- @@ -119,7 +110,6 @@ ## 参与贡献 - GitHub Repo:https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git - - Gitee Repo:https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git 以上仓库地址同步更新,均可接受 Issue 或 Pull Request。 diff --git a/docs/WechatAds/Advanced_AccessToken.md b/docs/WechatAds/Basic_AccessToken.md similarity index 100% rename from docs/WechatAds/Advanced_AccessToken.md rename to docs/WechatAds/Basic_AccessToken.md diff --git a/docs/WechatAds/Advanced_ModelDefinition.md b/docs/WechatAds/Basic_ModelDefinition.md similarity index 95% rename from docs/WechatAds/Advanced_ModelDefinition.md rename to docs/WechatAds/Basic_ModelDefinition.md index 05c790b6..89d4c9df 100644 --- a/docs/WechatAds/Advanced_ModelDefinition.md +++ b/docs/WechatAds/Basic_ModelDefinition.md @@ -16,7 +16,7 @@ 本库会定期随微信官方更新接口或模型,但也会偶有疏漏。如果你在使用中遇到了因接口或模型定义而产生的问题,欢迎提出 Issue。 -如果你的项目来不及等待 Issue 被处理,你可以自行扩展相关 API。 +在 Issue 被处理之前,你也可以选择自行扩展 API。 --- diff --git a/docs/WechatAds/README.md b/docs/WechatAds/README.md index a90ab630..346158ab 100644 --- a/docs/WechatAds/README.md +++ b/docs/WechatAds/README.md @@ -1,6 +1,6 @@ # SKIT.FlurlHttpClient.Wechat.Ads -基于 `Flurl.Http` 的[微信广告平台](https://ad.weixin.qq.com/) API 客户端。 +基于 `Flurl.Http` 的[微信广告平台](https://ad.weixin.qq.com/) HTTP API SDK。 需要注意的是,微信广告平台是腾讯广点通的独立业务,请开发者阅读相关文档时注意与广点通本身的 API 区分。 @@ -9,14 +9,12 @@ ## 功能 - 基于微信广告平台 API 封装。 - - 请求时自动生成服务商身份令牌,无需开发者手动干预。 - - 提供了微信广告平台 API 所需的 MD5 等算法工具类。 --- -## 基础用法 +## 快速入门 ### 安装: @@ -63,12 +61,16 @@ var response = await client.ExecuteCampaignsAddAsync(request); --- +## 基础用法 + +- [如何快速找到需要调用的 API 模型类名 / 方法名?](./Basic_ModelDefinition.md) + +- [如何获取接口调用凭据(即 AccessToken)?](./Basic_AccessToken.md) + +--- + ## 高级技巧 -- [如何快速找到需要调用的 API 模型类名 / 方法名?](./Advanced_ModelDefinition.md) - -- [如何获取接口调用凭据(即 AccessToken)?](./Advanced_AccessToken.md) - - [如何在 ASP.NET Core 中与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md) - [如何指定 JSON 序列化器?](./Advanced_JsonSerializer.md) diff --git a/docs/WechatApi/Advanced_EventDataDeserialization.md b/docs/WechatApi/Basic_EventDeserialization.md similarity index 100% rename from docs/WechatApi/Advanced_EventDataDeserialization.md rename to docs/WechatApi/Basic_EventDeserialization.md diff --git a/docs/WechatApi/Advanced_EventDataSignatureVerification.md b/docs/WechatApi/Basic_EventSignatureVerification.md similarity index 80% rename from docs/WechatApi/Advanced_EventDataSignatureVerification.md rename to docs/WechatApi/Basic_EventSignatureVerification.md index 3e9c6cb1..50ca1f18 100644 --- a/docs/WechatApi/Advanced_EventDataSignatureVerification.md +++ b/docs/WechatApi/Basic_EventSignatureVerification.md @@ -9,6 +9,15 @@ 同样地,你既可以利用本库提供的 `SHA1Utility` 工具类自行进行签名验证,也可以通过扩展方法实现: ```csharp +/* 在初始化客户端时需指定服务器推送的相关参数 */ +var options = new WechatApiClientOptions() +{ + // 其他配置项略 + PushToken = "Token", + PushEncodingAESKey = "EncodingAESKey" +}; +var client = new WechatApiClient(options); + /* 验证微信服务器 */ bool ret = client.VerifyEventSignatureForEcho( callbackTimestamp: "微信回调通知中的 timestamp 字段", diff --git a/docs/WechatApi/Advanced_Extensions.md b/docs/WechatApi/Basic_Extensions.md similarity index 97% rename from docs/WechatApi/Advanced_Extensions.md rename to docs/WechatApi/Basic_Extensions.md index ab905278..46aa3528 100644 --- a/docs/WechatApi/Advanced_Extensions.md +++ b/docs/WechatApi/Basic_Extensions.md @@ -1,4 +1,4 @@ -## 如何扩展额外的 API? +## 如何自定义额外的 API 接口? --- diff --git a/docs/WechatApi/Advanced_ModelDefinition.md b/docs/WechatApi/Basic_ModelDefinition.md similarity index 97% rename from docs/WechatApi/Advanced_ModelDefinition.md rename to docs/WechatApi/Basic_ModelDefinition.md index 7db5da56..d39195ee 100644 --- a/docs/WechatApi/Advanced_ModelDefinition.md +++ b/docs/WechatApi/Basic_ModelDefinition.md @@ -16,7 +16,7 @@ 本库会定期随微信官方更新接口或模型,但也会偶有疏漏。如果你在使用中遇到了因接口或模型定义而产生的问题,欢迎提出 Issue。 -如果你的项目来不及等待 Issue 被处理,你可以自行扩展相关 API。详细方式请参阅本文档[《高级技巧 - 如何扩展额外的 API?》](./Advanced_Extensions.md)。 +在 Issue 被处理之前,你也可以选择自行扩展 API。详细方式请参阅本文档[《基础用法 - 如何扩展额外的 API?》](./Basic_Extensions.md)。 --- diff --git a/docs/WechatApi/Advanced_OpenDataDecryption.md b/docs/WechatApi/Basic_OpenDataDecryption.md similarity index 100% rename from docs/WechatApi/Advanced_OpenDataDecryption.md rename to docs/WechatApi/Basic_OpenDataDecryption.md diff --git a/docs/WechatApi/Advanced_Parameters.md b/docs/WechatApi/Basic_Parameters.md similarity index 100% rename from docs/WechatApi/Advanced_Parameters.md rename to docs/WechatApi/Basic_Parameters.md diff --git a/docs/WechatApi/README.md b/docs/WechatApi/README.md index a37f97cc..8e06ce1a 100644 --- a/docs/WechatApi/README.md +++ b/docs/WechatApi/README.md @@ -1,20 +1,18 @@ # SKIT.FlurlHttpClient.Wechat.Api -基于 `Flurl.Http` 的[微信公众平台](<(https://mp.weixin.qq.com/)>) & [微信开放平台](<(https://open.weixin.qq.com/)>) API 客户端。 +基于 `Flurl.Http` 的[微信公众平台](<(https://mp.weixin.qq.com/)>) & [微信开放平台](<(https://open.weixin.qq.com/)>) HTTP API SDK。 --- ## 功能 - 基于微信公众平台 & 微信开放平台 API 封装。 - -- 提供了微信公众平台 & 微信开放平台 API 所需的 SHA-1、HMAC-SHA-256、AES 等算法工具类。 - +- 提供了微信公众平台 & 微信开放平台 API 所需的 AES、SHA-1、HMAC-SHA-256 等算法工具类。 - 提供了 JS-SDK 签名、解析回调通知事件等扩展方法。 --- -## 基础用法 +## 快速入门 ### 安装: @@ -75,20 +73,24 @@ else --- +## 基础用法 + +- [如何快速找到需要调用的 API 模型类名 / 方法名?](./Basic_ModelDefinition.md) + +- [如何解析回调通知事件?](./Basic_EventDeserialization.md) + +- [如何验证回调通知事件签名?](./Basic_EventSignatureVerification.md) + +- [如何解密经过加密处理的开放数据?](./Basic_OpenDataDecryption.md) + +- [如何生成 JS-SDK 初始化时所需的参数及签名?](./Basic_Parameters.md) + +- [如何自定义额外的 API 接口?](./Basic_Extensions.md) + +--- + ## 高级技巧 -- [如何快速找到需要调用的 API 模型类名 / 方法名?](./Advanced_ModelDefinition.md) - -- [如何解析回调通知事件?](./Advanced_EventDataDeserialization.md) - -- [如何验证回调通知事件签名?](./Advanced_EventDataSignatureVerification.md) - -- [如何解密经过加密处理的开放数据?](./Advanced_OpenDataDecryption.md) - -- [如何生成 JS-SDK 初始化时所需的参数及签名?](./Advanced_Parameters.md) - -- [如何扩展额外的 API?](./Advanced_Extensions.md) - - [如何在 ASP.NET Core 中与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md) - [如何指定 JSON 序列化器?](./Advanced_JsonSerializer.md) diff --git a/docs/WechatOpenAI/Advanced_ModelDefinition.md b/docs/WechatOpenAI/Basic_ModelDefinition.md similarity index 94% rename from docs/WechatOpenAI/Advanced_ModelDefinition.md rename to docs/WechatOpenAI/Basic_ModelDefinition.md index 2439c710..0c1cae01 100644 --- a/docs/WechatOpenAI/Advanced_ModelDefinition.md +++ b/docs/WechatOpenAI/Basic_ModelDefinition.md @@ -16,7 +16,7 @@ 本库会定期随微信官方更新接口或模型,但也会偶有疏漏。如果你在使用中遇到了因接口或模型定义而产生的问题,欢迎提出 Issue。 -如果你的项目来不及等待 Issue 被处理,你可以自行扩展相关 API。 +在 Issue 被处理之前,你也可以选择自行扩展 API。 --- diff --git a/docs/WechatOpenAI/README.md b/docs/WechatOpenAI/README.md index aef20b66..efba214a 100644 --- a/docs/WechatOpenAI/README.md +++ b/docs/WechatOpenAI/README.md @@ -1,18 +1,17 @@ # SKIT.FlurlHttpClient.Wechat.OpenAI -基于 `Flurl.Http` 的[微信对话开放平台](https://openai.weixin.qq.com/) API 客户端。 +基于 `Flurl.Http` 的[微信对话开放平台](https://openai.weixin.qq.com/) HTTP API SDK。 --- ## 功能 - 基于微信对话开放平台 API 封装。 - - 提供了解析回调通知事件等扩展方法。 --- -## 基础用法 +## 快速入门 ### 安装: @@ -70,9 +69,13 @@ else --- -## 高级技巧 +## 基础用法 -- [如何快速找到需要调用的 API 模型类名 / 方法名?](./Advanced_ModelDefinition.md) +- [如何快速找到需要调用的 API 模型类名 / 方法名?](./Basic_ModelDefinition.md) + +--- + +## 高级技巧 - [如何在 ASP.NET Core 中与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md) diff --git a/docs/WechatTenpayBusiness/Advanced_EventSignatureVerification.md b/docs/WechatTenpayBusiness/Basic_EventSignatureVerification.md similarity index 88% rename from docs/WechatTenpayBusiness/Advanced_EventSignatureVerification.md rename to docs/WechatTenpayBusiness/Basic_EventSignatureVerification.md index 445c7dd1..c584781e 100644 --- a/docs/WechatTenpayBusiness/Advanced_EventSignatureVerification.md +++ b/docs/WechatTenpayBusiness/Basic_EventSignatureVerification.md @@ -4,7 +4,7 @@ ### 验签流程 -验证回调通知事件签名的方法与验证响应签名的类似,请参阅本文档[《高级技巧 - 如何验证响应签名?》](./Advanced_ResponseSignatureVerification.md)的有关章节。 +验证回调通知事件签名的方法与验证响应签名的类似,请参阅本文档[《基础用法 - 如何验证响应签名?》](./Basic_ResponseSignatureVerification.md)的有关章节。 同样地,你既可以利用本库提供的 `RSAUtility` 工具类自行进行签名验证,也可以通过封装好的扩展方法完成签名验证: diff --git a/docs/WechatTenpayBusiness/Advanced_ModelDefinition.md b/docs/WechatTenpayBusiness/Basic_ModelDefinition.md similarity index 96% rename from docs/WechatTenpayBusiness/Advanced_ModelDefinition.md rename to docs/WechatTenpayBusiness/Basic_ModelDefinition.md index 51ec3f53..a214d94d 100644 --- a/docs/WechatTenpayBusiness/Advanced_ModelDefinition.md +++ b/docs/WechatTenpayBusiness/Basic_ModelDefinition.md @@ -18,7 +18,7 @@ 本库会定期随微信官方更新接口或模型,但也会偶有疏漏。如果你在使用中遇到了因接口或模型定义而产生的问题,欢迎提出 Issue。 -如果你的项目来不及等待 Issue 被处理,你可以自行扩展相关 API。 +在 Issue 被处理之前,你也可以选择自行扩展 API。 --- diff --git a/docs/WechatTenpayBusiness/Advanced_RequestSensitiveDataEncryption.md b/docs/WechatTenpayBusiness/Basic_RequestSensitiveDataEncryption.md similarity index 100% rename from docs/WechatTenpayBusiness/Advanced_RequestSensitiveDataEncryption.md rename to docs/WechatTenpayBusiness/Basic_RequestSensitiveDataEncryption.md diff --git a/docs/WechatTenpayBusiness/Advanced_ResponseSensitiveDataDecryption.md b/docs/WechatTenpayBusiness/Basic_ResponseSensitiveDataDecryption.md similarity index 100% rename from docs/WechatTenpayBusiness/Advanced_ResponseSensitiveDataDecryption.md rename to docs/WechatTenpayBusiness/Basic_ResponseSensitiveDataDecryption.md diff --git a/docs/WechatTenpayBusiness/Advanced_ResponseSignatureVerification.md b/docs/WechatTenpayBusiness/Basic_ResponseSignatureVerification.md similarity index 100% rename from docs/WechatTenpayBusiness/Advanced_ResponseSignatureVerification.md rename to docs/WechatTenpayBusiness/Basic_ResponseSignatureVerification.md diff --git a/docs/WechatTenpayBusiness/README.md b/docs/WechatTenpayBusiness/README.md index 8adccd59..23a83839 100644 --- a/docs/WechatTenpayBusiness/README.md +++ b/docs/WechatTenpayBusiness/README.md @@ -1,22 +1,19 @@ # SKIT.FlurlHttpClient.Wechat.TenpayBusiness -基于 `Flurl.Http` 的[腾讯微企付](https://business.tenpay.com/p/gateway-pay/) API 客户端。 +基于 `Flurl.Http` 的[腾讯微企付](https://business.tenpay.com/p/gateway-pay/) HTTP API SDK。 --- ## 功能 - 基于腾讯微企付 API 封装。 - - 请求时自动生成签名,无需开发者手动干预。 - -- 提供了腾讯微企付所需的 RSA、SHA-256、SM3、SM4 等算法工具类。 - +- 提供了腾讯微企付所需的 RSA、SM3、SM4、SHA-256 等算法工具类。 - 提供了解析回调通知事件等扩展方法。 --- -## 基础用法 +## 快速入门 ### 安装: @@ -72,18 +69,22 @@ else --- +## 基础用法 + +- [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Basic_ModelDefinition.md) + +- [如何加密请求中的敏感数据?](./Basic_RequestSensitiveDataEncryption.md) + +- [如何解密响应中的敏感数据?](./Basic_ResponseSensitiveDataDecryption.md) + +- [如何验证响应签名?](./Basic_ResponseSignatureVerification.md) + +- [如何验证回调通知事件签名?](./Basic_EventSignatureVerification.md) + +--- + ## 高级技巧 -- [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Advanced_ModelDefinition.md) - -- [如何加密请求中的敏感数据?](./Advanced_RequestSensitiveDataEncryption.md) - -- [如何解密响应中的敏感数据?](./Advanced_ResponseSensitiveDataDecryption.md) - -- [如何验证响应签名?](./Advanced_ResponseSignatureVerification.md) - -- [如何验证回调通知事件签名?](./Advanced_EventSignatureVerification.md) - - [如何在 ASP.NET Core 中与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md) - [如何指定 JSON 序列化器?](./Advanced_JsonSerializer.md) diff --git a/docs/WechatTenpayV2/Advanced_EventInfoDecryption.md b/docs/WechatTenpayV2/Basic_EventInfoDecryption.md similarity index 100% rename from docs/WechatTenpayV2/Advanced_EventInfoDecryption.md rename to docs/WechatTenpayV2/Basic_EventInfoDecryption.md diff --git a/docs/WechatTenpayV2/Advanced_EventSignatureVerification.md b/docs/WechatTenpayV2/Basic_EventSignatureVerification.md similarity index 100% rename from docs/WechatTenpayV2/Advanced_EventSignatureVerification.md rename to docs/WechatTenpayV2/Basic_EventSignatureVerification.md diff --git a/docs/WechatTenpayV2/Advanced_ModelDefinition.md b/docs/WechatTenpayV2/Basic_ModelDefinition.md similarity index 99% rename from docs/WechatTenpayV2/Advanced_ModelDefinition.md rename to docs/WechatTenpayV2/Basic_ModelDefinition.md index b055a3b4..7867bd54 100644 --- a/docs/WechatTenpayV2/Advanced_ModelDefinition.md +++ b/docs/WechatTenpayV2/Basic_ModelDefinition.md @@ -18,7 +18,7 @@ 本库会定期随微信官方更新接口或模型,但也会偶有疏漏。如果你在使用中遇到了因接口或模型定义而产生的问题,欢迎提出 Issue。 -如果你的项目来不及等待 Issue 被处理,你可以自行扩展相关 API。 +在 Issue 被处理之前,你也可以选择自行扩展 API。 --- diff --git a/docs/WechatTenpayV2/Advanced_Parameters.md b/docs/WechatTenpayV2/Basic_Parameters.md similarity index 100% rename from docs/WechatTenpayV2/Advanced_Parameters.md rename to docs/WechatTenpayV2/Basic_Parameters.md diff --git a/docs/WechatTenpayV2/README.md b/docs/WechatTenpayV2/README.md index 9cb5dda1..396e0563 100644 --- a/docs/WechatTenpayV2/README.md +++ b/docs/WechatTenpayV2/README.md @@ -1,28 +1,22 @@ # SKIT.FlurlHttpClient.Wechat.TenpayV2 -基于 `Flurl.Http` 的[微信商户平台](https://pay.weixin.qq.com/) API v2 版客户端。 +基于 `Flurl.Http` 的[微信商户平台](https://pay.weixin.qq.com/) HTTP API SDK。 -如需微信支付 v3 版 API 客户端,请移步 [`SKIT.FlurlHttpClient.WechantTenpayV3`](../WechatTenpayV3/README.md) 模块。 +本模块仅支持微信支付 v2 版 API,如需接入微信支付 v3 版 API,请移步 [`SKIT.FlurlHttpClient.WechantTenpayV3`](../WechatTenpayV3/README.md) 模块。 --- ## 功能 - 基于微信支付 v2 版 API 封装。 - -- 支持普通商户、境内服务商、银行服务商、跨境支付三种模式。 - +- 支持普通商户、境内服务商、银行服务商、跨境支付四种模式,同时支持企业微信的企业支付相关功能。 - 请求时自动生成签名,无需开发者手动干预。 - - 提供了微信支付所需的 AES、MD5、HMAC-SHA-256 等算法工具类。 - -- 提供了生成调起支付签名、解析回调通知事件等扩展方法。 - -> **注意**:本库仅仅包含微信支付未提供 v3 版 API 的部分功能,如需微信支付 v3 版 API 客户端,欢迎使用 [`SKIT.FlurlHttpClient.WechantTenpayV3`](../WechatTenpayV3/README.md) 模块。 +- 提供了调起支付签名、解析回调通知事件敏感数据等扩展方法。 --- -## 基础用法 +## 快速入门 ### 安装: @@ -86,16 +80,20 @@ else --- +## 基础用法 + +- [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Basic_ModelDefinition.md) + +- [如何解密回调通知事件中的敏感数据?](./Basic_EventInfoDecryption.md) + +- [如何验证回调通知事件签名?](./Basic_EventSignatureVerification.md) + +- [如何生成客户端(JSAPI、App、小程序等)所需的参数及签名?](./Basic_Parameters.md) + +--- + ## 高级技巧 -- [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Advanced_ModelDefinition.md) - -- [如何解密回调通知事件中的敏感数据?](./Advanced_EventInfoDecryption.md) - -- [如何验证回调通知事件签名?](./Advanced_EventSignatureVerification.md) - -- [如何生成客户端(JSAPI、App、小程序等)所需的参数及签名?](./Advanced_Parameters.md) - - [如何在 ASP.NET Core 中与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md) - [如何指定 JSON 序列化器?](./Advanced_JsonSerializer.md) diff --git a/docs/WechatTenpayV3/Advanced_CertificateSerialNumber.md b/docs/WechatTenpayV3/Basic_CertificateSerialNumber.md similarity index 100% rename from docs/WechatTenpayV3/Advanced_CertificateSerialNumber.md rename to docs/WechatTenpayV3/Basic_CertificateSerialNumber.md diff --git a/docs/WechatTenpayV3/Advanced_EventResourceDecryption.md b/docs/WechatTenpayV3/Basic_EventResourceDecryption.md similarity index 92% rename from docs/WechatTenpayV3/Advanced_EventResourceDecryption.md rename to docs/WechatTenpayV3/Basic_EventResourceDecryption.md index 8bc83150..72802cf1 100644 --- a/docs/WechatTenpayV3/Advanced_EventResourceDecryption.md +++ b/docs/WechatTenpayV3/Basic_EventResourceDecryption.md @@ -12,7 +12,7 @@ 需要注意的是,平台为商户提供的是 PEM 格式的密钥文件,需区分文件格式之间的不同。 -有关密钥文件格式的更多介绍,请参阅本文档[《高级技巧 - 如何加密请求中的敏感数据?》](./Advanced_RequestSensitiveDataEncryption.md)的有关章节。 +有关密钥文件格式的更多介绍,请参阅本文档[《基础用法 - 如何加密请求中的敏感数据?》](./Basic_RequestSensitiveDataEncryption.md)的有关章节。 --- diff --git a/docs/WechatTenpayV3/Advanced_EventSignatureVerification.md b/docs/WechatTenpayV3/Basic_EventSignatureVerification.md similarity index 87% rename from docs/WechatTenpayV3/Advanced_EventSignatureVerification.md rename to docs/WechatTenpayV3/Basic_EventSignatureVerification.md index 137ee057..9356e020 100644 --- a/docs/WechatTenpayV3/Advanced_EventSignatureVerification.md +++ b/docs/WechatTenpayV3/Basic_EventSignatureVerification.md @@ -25,13 +25,13 @@ 需要注意的是,平台为商户提供的是 PEM 格式的密钥文件,需注意文件格式之间的不同。 -有关密钥文件格式的更多介绍,请参阅本文档[《高级技巧 - 如何加密请求中的敏感数据?》](./Advanced_RequestSensitiveDataEncryption.md)的有关章节。 +有关密钥文件格式的更多介绍,请参阅本文档[《基础用法 - 如何加密请求中的敏感数据?》](./Basic_RequestSensitiveDataEncryption.md)的有关章节。 --- ### 验签流程 -验证回调通知事件签名的方法与验证响应签名的类似,请参阅本文档[《高级技巧 - 如何验证响应签名?》](./Advanced_ResponseSignatureVerification.md)的有关章节。 +验证回调通知事件签名的方法与验证响应签名的类似,请参阅本文档[《基础用法 - 如何验证响应签名?》](./Basic_ResponseSignatureVerification.md)的有关章节。 同样地,你既可以利用本库提供的 `RSAUtility` 工具类自行进行签名验证,也可以通过 `CertificateManager` 尝试自动完成签名验证: @@ -66,4 +66,4 @@ if (!ret) ### 通过 `CertificateManager` 管理平台证书信息: -请参阅本文档[《高级技巧 - 如何加密请求中的敏感数据?》](./Advanced_RequestSensitiveDataEncryption.md)下的同名章节。 +请参阅本文档[《基础用法 - 如何加密请求中的敏感数据?》](./Basic_RequestSensitiveDataEncryption.md)下的同名章节。 diff --git a/docs/WechatTenpayV3/Advanced_Extensions.md b/docs/WechatTenpayV3/Basic_Extensions.md similarity index 98% rename from docs/WechatTenpayV3/Advanced_Extensions.md rename to docs/WechatTenpayV3/Basic_Extensions.md index 578f3569..f8f22e80 100644 --- a/docs/WechatTenpayV3/Advanced_Extensions.md +++ b/docs/WechatTenpayV3/Basic_Extensions.md @@ -1,4 +1,4 @@ -## 如何扩展额外的 API? +## 如何自定义额外的 API 接口? --- diff --git a/docs/WechatTenpayV3/Advanced_ModelDefinition.md b/docs/WechatTenpayV3/Basic_ModelDefinition.md similarity index 99% rename from docs/WechatTenpayV3/Advanced_ModelDefinition.md rename to docs/WechatTenpayV3/Basic_ModelDefinition.md index 8fcd9b9c..ca7971aa 100644 --- a/docs/WechatTenpayV3/Advanced_ModelDefinition.md +++ b/docs/WechatTenpayV3/Basic_ModelDefinition.md @@ -18,7 +18,7 @@ 本库会定期随微信官方更新接口或模型,但也会偶有疏漏。如果你在使用中遇到了因接口或模型定义而产生的问题,欢迎提出 Issue。 -如果你的项目来不及等待 Issue 被处理,你可以自行扩展相关 API。详细方式请参阅本文档[《高级技巧 - 如何扩展额外的 API?》](./Advanced_Extensions.md)。 +在 Issue 被处理之前,你也可以选择自行扩展 API。详细方式请参阅本文档[《基础用法 - 如何扩展额外的 API?》](./Basic_Extensions.md)。 --- diff --git a/docs/WechatTenpayV3/Advanced_Parameters.md b/docs/WechatTenpayV3/Basic_Parameters.md similarity index 100% rename from docs/WechatTenpayV3/Advanced_Parameters.md rename to docs/WechatTenpayV3/Basic_Parameters.md diff --git a/docs/WechatTenpayV3/Advanced_RequestSensitiveDataEncryption.md b/docs/WechatTenpayV3/Basic_RequestSensitiveDataEncryption.md similarity index 100% rename from docs/WechatTenpayV3/Advanced_RequestSensitiveDataEncryption.md rename to docs/WechatTenpayV3/Basic_RequestSensitiveDataEncryption.md diff --git a/docs/WechatTenpayV3/Advanced_ResponseSensitiveDataDecryption.md b/docs/WechatTenpayV3/Basic_ResponseSensitiveDataDecryption.md similarity index 100% rename from docs/WechatTenpayV3/Advanced_ResponseSensitiveDataDecryption.md rename to docs/WechatTenpayV3/Basic_ResponseSensitiveDataDecryption.md diff --git a/docs/WechatTenpayV3/Advanced_ResponseSignatureVerification.md b/docs/WechatTenpayV3/Basic_ResponseSignatureVerification.md similarity index 92% rename from docs/WechatTenpayV3/Advanced_ResponseSignatureVerification.md rename to docs/WechatTenpayV3/Basic_ResponseSignatureVerification.md index 8d3e5884..72ed20cb 100644 --- a/docs/WechatTenpayV3/Advanced_ResponseSignatureVerification.md +++ b/docs/WechatTenpayV3/Basic_ResponseSignatureVerification.md @@ -25,7 +25,7 @@ 需要注意的是,平台为商户提供的是 PEM 格式的密钥文件,需注意文件格式之间的不同。 -有关密钥文件格式的更多介绍,请参阅本文档[《高级技巧 - 如何加密请求中的敏感数据?》](./Advanced_RequestSensitiveDataEncryption.md)的有关章节。 +有关密钥文件格式的更多介绍,请参阅本文档[《基础用法 - 如何加密请求中的敏感数据?》](./Basic_RequestSensitiveDataEncryption.md)的有关章节。 --- @@ -75,4 +75,4 @@ if (!ret) ### 通过 `CertificateManager` 管理平台证书信息: -请参阅本文档[《高级技巧 - 如何加密请求中的敏感数据?》](./Advanced_RequestSensitiveDataEncryption.md)下的同名章节。 +请参阅本文档[《基础用法 - 如何加密请求中的敏感数据?》](./Basic_RequestSensitiveDataEncryption.md)下的同名章节。 diff --git a/docs/WechatTenpayV3/Advanced_SMAlgorithm.md b/docs/WechatTenpayV3/Basic_SMAlgorithm.md similarity index 100% rename from docs/WechatTenpayV3/Advanced_SMAlgorithm.md rename to docs/WechatTenpayV3/Basic_SMAlgorithm.md diff --git a/docs/WechatTenpayV3/README.md b/docs/WechatTenpayV3/README.md index ba96dc3e..9a2341d8 100644 --- a/docs/WechatTenpayV3/README.md +++ b/docs/WechatTenpayV3/README.md @@ -1,26 +1,22 @@ # SKIT.FlurlHttpClient.Wechat.TenpayV3 -基于 `Flurl.Http` 的[微信商户平台](https://pay.weixin.qq.com/) API v3 版客户端。 +基于 `Flurl.Http` 的[微信商户平台](https://pay.weixin.qq.com/) HTTP API SDK。 -如需微信支付 v2 版 API 客户端,请移步 [`SKIT.FlurlHttpClient.WechantTenpayV2`](../WechatTenpayV2/README.md) 模块。 +本模块仅支持微信支付 v3 版 API,如需接入微信支付 v2 版 API,请移步 [`SKIT.FlurlHttpClient.WechantTenpayV2`](../WechatTenpayV2/README.md) 模块。 --- ## 功能 - 基于微信支付 v3 版 API 封装。 - - 支持直连商户、服务商两种模式。 - -- 请求时自动生成签名(同时支持国际 RSA 算法或国密 SM 算法),无需开发者手动干预。 - -- 提供了微信支付所需的 RSA、AES、SM2/SM3/SM4、SHA-256 等算法工具类。 - -- 提供了生成调起支付签名、加密请求中敏感数据、解密响应中敏感数据、解析回调通知事件敏感数据等扩展方法。 +- 请求时自动生成签名(支持国际 RSA 算法或国密 SM 算法),无需开发者手动干预。 +- 提供了微信支付所需的 AES、RSA、SM2/SM3/SM4、SHA-256 等算法工具类。 +- 提供了调起支付签名、解析响应敏感数据、解析回调通知事件敏感数据等扩展方法。 --- -## 基础用法 +## 快速入门 ### 安装: @@ -90,28 +86,32 @@ else --- +## 基础用法 + +- [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Basic_ModelDefinition.md) + +- [如何查看商户证书序列号?](./Basic_CertificateSerialNumber.md) + +- [如何加密请求中的敏感数据?](./Basic_RequestSensitiveDataEncryption.md) + +- [如何解密响应中的敏感数据?](./Basic_ResponseSensitiveDataDecryption.md) + +- [如何验证响应签名?](./Basic_ResponseSignatureVerification.md) + +- [如何解密回调通知事件中的敏感数据?](./Basic_EventResourceDecryption.md) + +- [如何验证回调通知事件签名?](./Basic_EventSignatureVerification.md) + +- [如何生成客户端(JSAPI、App、小程序等)所需的参数及二次签名?](./Basic_Parameters.md) + +- [如何自定义额外的 API 接口?](./Basic_Extensions.md) + +- [如何接入国密算法?](./Basic_SMAlgorithm.md) + +--- + ## 高级技巧 -- [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Advanced_ModelDefinition.md) - -- [如何查看商户证书序列号?](./Advanced_CertificateSerialNumber.md) - -- [如何加密请求中的敏感数据?](./Advanced_RequestSensitiveDataEncryption.md) - -- [如何解密响应中的敏感数据?](./Advanced_ResponseSensitiveDataDecryption.md) - -- [如何验证响应签名?](./Advanced_ResponseSignatureVerification.md) - -- [如何解密回调通知事件中的敏感数据?](./Advanced_EventResourceDecryption.md) - -- [如何验证回调通知事件签名?](./Advanced_EventSignatureVerification.md) - -- [如何生成客户端(JSAPI、App、小程序等)所需的参数及二次签名?](./Advanced_Parameters.md) - -- [如何接入国密算法?](./Advanced_SMAlgorithm.md) - -- [如何扩展额外的 API?](./Advanced_Extensions.md) - - [如何在 ASP.NET Core 中与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md) - [如何指定 JSON 序列化器?](./Advanced_JsonSerializer.md) diff --git a/docs/WechatWork/Advanced_EventDataDeserialization.md b/docs/WechatWork/Basic_EventDeserialization.md similarity index 100% rename from docs/WechatWork/Advanced_EventDataDeserialization.md rename to docs/WechatWork/Basic_EventDeserialization.md diff --git a/docs/WechatWork/Advanced_Extensions.md b/docs/WechatWork/Basic_Extensions.md similarity index 97% rename from docs/WechatWork/Advanced_Extensions.md rename to docs/WechatWork/Basic_Extensions.md index 33e14de6..47b3bfef 100644 --- a/docs/WechatWork/Advanced_Extensions.md +++ b/docs/WechatWork/Basic_Extensions.md @@ -1,4 +1,4 @@ -## 如何扩展额外的 API? +## 如何自定义额外的 API 接口? --- diff --git a/docs/WechatWork/Advanced_ModelDefinition.md b/docs/WechatWork/Basic_ModelDefinition.md similarity index 96% rename from docs/WechatWork/Advanced_ModelDefinition.md rename to docs/WechatWork/Basic_ModelDefinition.md index 5b0bff8e..866a6034 100644 --- a/docs/WechatWork/Advanced_ModelDefinition.md +++ b/docs/WechatWork/Basic_ModelDefinition.md @@ -16,7 +16,7 @@ 本库会定期随微信官方更新接口或模型,但也会偶有疏漏。如果你在使用中遇到了因接口或模型定义而产生的问题,欢迎提出 Issue。 -如果你的项目来不及等待 Issue 被处理,你可以自行扩展相关 API。详细方式请参阅本文档[《高级技巧 - 如何扩展额外的 API?》](./Advanced_Extensions.md)。 +在 Issue 被处理之前,你也可以选择自行扩展 API。详细方式请参阅本文档[《基础用法 - 如何扩展额外的 API?》](./Basic_Extensions.md)。 --- diff --git a/docs/WechatWork/Advanced_Parameters.md b/docs/WechatWork/Basic_Parameters.md similarity index 100% rename from docs/WechatWork/Advanced_Parameters.md rename to docs/WechatWork/Basic_Parameters.md diff --git a/docs/WechatWork/README.md b/docs/WechatWork/README.md index d85ce9fd..cf19bedc 100644 --- a/docs/WechatWork/README.md +++ b/docs/WechatWork/README.md @@ -1,22 +1,19 @@ # SKIT.FlurlHttpClient.Wechat.Work -基于 `Flurl.Http` 的[企业微信](https://work.weixin.qq.com/) API 客户端。 +基于 `Flurl.Http` 的[企业微信](https://work.weixin.qq.com/) HTTP API SDK。 --- ## 功能 - 基于企业微信 API 封装。 - - 支持企业内部开发、第三方应用开发、服务商代开发、智慧硬件开发四种模式。 - -- 提供了企业微信 API 所需的 SHA-1、AES 等算法工具类。 - +- 提供了企业微信 API 所需的 AES、SHA-1 等算法工具类。 - 提供了 JS-SDK 签名、解析回调通知事件等扩展方法。 --- -## 基础用法 +## 快速入门 ### 安装: @@ -72,16 +69,20 @@ else --- +## 基础用法 + +- [如何快速找到需要调用的 API 模型类名 / 方法名?](./Basic_ModelDefinition.md) + +- [如何解析回调通知事件?](./Basic_EventDeserialization.md) + +- [如何生成 JS-SDK 所需的参数及签名?](./Basic_Parameters.md) + +- [如何自定义额外的 API 接口?](./Basic_Extensions.md) + +--- + ## 高级技巧 -- [如何快速找到需要调用的 API 模型类名 / 方法名?](./Advanced_ModelDefinition.md) - -- [如何解析回调通知事件?](./Advanced_EventDataDeserialization.md) - -- [如何生成 JS-SDK 所需的参数及签名?](./Advanced_Parameters.md) - -- [如何扩展额外的 API?](./Advanced_Extensions.md) - - [如何在 ASP.NET Core 中与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md) - [如何指定 JSON 序列化器?](./Advanced_JsonSerializer.md) diff --git a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Controllers/TenpayNotifyController.cs b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Controllers/TenpayNotifyController.cs index 0eb84e68..73f2df0a 100644 --- a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Controllers/TenpayNotifyController.cs +++ b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Controllers/TenpayNotifyController.cs @@ -47,8 +47,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample.Controllers { // NOTICE: // 需提前注入 CertificateManager、并下载平台证书,才可以使用扩展方法执行验签操作。 - // 有关 CertificateManager 的用法请参阅《开发文档 / 高级技巧 / 如何验证回调通知事件签名?》。 - // 后续如何解密并反序列化,请参阅《开发文档 / 高级技巧 / 如何解密回调通知事件中的敏感数据?》。 + // 有关 CertificateManager 的用法请参阅《开发文档 / 基础用法 / 如何验证回调通知事件签名?》。 + // 后续如何解密并反序列化,请参阅《开发文档 / 基础用法 / 如何解密回调通知事件中的敏感数据?》。 return new JsonResult(new { code = "FAIL", message = "验签失败" }); } diff --git a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Services/BackgroundServices/TenpayCertificateRefreshingBackgroundService.cs b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Services/BackgroundServices/TenpayCertificateRefreshingBackgroundService.cs index 0c8665c5..278c4923 100644 --- a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Services/BackgroundServices/TenpayCertificateRefreshingBackgroundService.cs +++ b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Services/BackgroundServices/TenpayCertificateRefreshingBackgroundService.cs @@ -41,8 +41,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample.Services.BackgroundService if (response.IsSuccessful()) { // NOTICE: - // 如果构造 Client 时启用了 `AutoDecryptResponseSensitiveProperty` 配置项,则无需再手动执行下面被注释的解密方法: - // response = client.DecryptResponseSensitiveProperty(response); + // 如果构造 Client 时启用了 `AutoDecryptResponseSensitiveProperty` 配置项,则无需再执行下面一行的手动解密方法: + response = client.DecryptResponseSensitiveProperty(response); foreach (var certificate in response.CertificateList) { diff --git a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Services/HttpClients/Implements/WechatTenpayHttpClientFactory.cs b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Services/HttpClients/Implements/WechatTenpayHttpClientFactory.cs index 112afb42..492c9ae9 100644 --- a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Services/HttpClients/Implements/WechatTenpayHttpClientFactory.cs +++ b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_Net6/Services/HttpClients/Implements/WechatTenpayHttpClientFactory.cs @@ -38,8 +38,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample.Services.HttpClients.Imple MerchantCertificateSerialNumber = tenpayMerchantConfig.CertificateSerialNumber, MerchantCertificatePrivateKey = tenpayMerchantConfig.CertificatePrivateKey, PlatformCertificateManager = _tenpayCertificateManagerFactory.Create(tenpayMerchantConfig.MerchantId), - AutoEncryptRequestSensitiveProperty = true, - AutoDecryptResponseSensitiveProperty = true + AutoEncryptRequestSensitiveProperty = false, + AutoDecryptResponseSensitiveProperty = false }; var wechatTenpayClient = new WechatTenpayClient(wechatTenpayClientOptions); wechatTenpayClient.Configure((settings) => settings.FlurlHttpClientFactory = new DelegatingFlurlClientFactory(_httpClientFactory)); diff --git a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Controllers/TenpayNotifyController.cs b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Controllers/TenpayNotifyController.cs index 6ae0d65e..2e6b2be5 100644 --- a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Controllers/TenpayNotifyController.cs +++ b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Controllers/TenpayNotifyController.cs @@ -38,8 +38,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample.Controllers { // NOTICE: // 需提前注入 CertificateManager、并添加平台证书,才可以使用扩展方法执行验签操作。 - // 有关 CertificateManager 的用法请参阅《开发文档 / 高级技巧 / 如何验证回调通知事件签名?》。 - // 后续如何解密并反序列化,请参阅《开发文档 / 高级技巧 / 如何解密回调通知事件中的敏感数据?》。 + // 有关 CertificateManager 的用法请参阅《开发文档 / 基础用法 / 如何验证回调通知事件签名?》。 + // 后续如何解密并反序列化,请参阅《开发文档 / 基础用法 / 如何解密回调通知事件中的敏感数据?》。 return Json(new { code = "FAIL", message = "验签失败" }); } diff --git a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Services/BackgroundJobs/TenpayCertificateRefreshingBackgroundJob.cs b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Services/BackgroundJobs/TenpayCertificateRefreshingBackgroundJob.cs index 3c609b68..68bced4d 100644 --- a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Services/BackgroundJobs/TenpayCertificateRefreshingBackgroundJob.cs +++ b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Services/BackgroundJobs/TenpayCertificateRefreshingBackgroundJob.cs @@ -23,8 +23,8 @@ namespace SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample.Services.BackgroundJobs if (response.IsSuccessful()) { // NOTICE: - // 如果构造 Client 时启用了 `AutoDecryptResponseSensitiveProperty` 配置项,则无需再手动执行下面被注释的解密方法: - // response = client.DecryptResponseSensitiveProperty(response); + // 如果构造 Client 时启用了 `AutoDecryptResponseSensitiveProperty` 配置项,则无需再执行下面一行的手动解密方法: + response = client.DecryptResponseSensitiveProperty(response); foreach (var certificate in response.CertificateList) { diff --git a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Services/HttpClients/Implements/WechatTenpayHttpClientFactory.cs b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Services/HttpClients/Implements/WechatTenpayHttpClientFactory.cs index 1051e14a..d38797f3 100644 --- a/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Services/HttpClients/Implements/WechatTenpayHttpClientFactory.cs +++ b/samples/SKIT.FlurlHttpClient.Wechat.TenpayV3.Sample_NetFramework47/Services/HttpClients/Implements/WechatTenpayHttpClientFactory.cs @@ -27,8 +27,8 @@ MerchantCertSerialNumber = tenpayMerchantOptions.CertSerialNumber, MerchantCertPrivateKey = tenpayMerchantOptions.CertPrivateKey, CertificateManager = _tenpayCertificateManagerFactory.Create(tenpayMerchantOptions.MerchantId), - AutoEncryptRequestSensitiveProperty = true, - AutoDecryptResponseSensitiveProperty = true + AutoEncryptRequestSensitiveProperty = false, + AutoDecryptResponseSensitiveProperty = false }); } } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Ads/README.md b/src/SKIT.FlurlHttpClient.Wechat.Ads/README.md index 98d5ee60..04f0cc30 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Ads/README.md +++ b/src/SKIT.FlurlHttpClient.Wechat.Ads/README.md @@ -2,7 +2,7 @@ [![GitHub Stars](https://img.shields.io/github/stars/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Stars)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![GitHub Forks](https://img.shields.io/github/forks/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Forks)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![NuGet Download](https://img.shields.io/nuget/dt/SKIT.FlurlHttpClient.Wechat.Ads.svg?sanitize=true&label=Downloads)](https://www.nuget.org/packages/SKIT.FlurlHttpClient.Wechat.Ads) [![License](https://img.shields.io/github/license/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?label=License)](https://mit-license.org/) -基于 `Flurl.Http` 的微信广告平台 API 版客户端。 +基于 `Flurl.Http` 的微信广告平台 HTTP API SDK。 --- diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteCgibinMaterialExtensions.cs b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteCgibinMaterialExtensions.cs index c1ec8b9d..82c5b42a 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteCgibinMaterialExtensions.cs +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/Extensions/WechatApiClientExecuteCgibinMaterialExtensions.cs @@ -85,7 +85,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api using var httpContent = Utilities.FileHttpContentBuilder.Build(fileName: request.FileName, fileBytes: request.FileBytes, fileContentType: request.FileContentType, formDataName: "media"); if (TYPE_VIDEO.Equals(request.Type)) { - httpContent.Add(new ByteArrayContent(Encoding.UTF8.GetBytes(client.JsonSerializer.Serialize(request))), "\"description\""); + httpContent.Add(new StringContent(client.JsonSerializer.Serialize(request), Encoding.UTF8), "\"description\""); } return await client.SendRequestAsync(flurlReq, httpContent: httpContent, cancellationToken: cancellationToken); } diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/README.md b/src/SKIT.FlurlHttpClient.Wechat.Api/README.md index 89f59021..d5c2b813 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Api/README.md +++ b/src/SKIT.FlurlHttpClient.Wechat.Api/README.md @@ -2,14 +2,14 @@ [![GitHub Stars](https://img.shields.io/github/stars/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Stars)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![GitHub Forks](https://img.shields.io/github/forks/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Forks)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![NuGet Download](https://img.shields.io/nuget/dt/SKIT.FlurlHttpClient.Wechat.Api.svg?sanitize=true&label=Downloads)](https://www.nuget.org/packages/SKIT.FlurlHttpClient.Wechat.Api) [![License](https://img.shields.io/github/license/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?label=License)](https://mit-license.org/) -基于 `Flurl.Http` 的微信公众平台 & 微信开放平台 API 客户端。 +基于 `Flurl.Http` 的微信公众平台 & 微信开放平台 HTTP API SDK。 --- ### 【功能特性】 - 基于微信公众平台 & 微信开放平台 API 封装。 -- 提供了微信公众平台 & 微信开放平台 API 所需的 SHA-1、HMAC-SHA-256、AES 等算法工具类。 +- 提供了微信公众平台 & 微信开放平台 API 所需的 AES、SHA-1、HMAC-SHA-256 等算法工具类。 - 提供了 JS-SDK 签名、解析回调通知事件等扩展方法。 --- diff --git a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/README.md b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/README.md index 6a91f1b1..f839d8b4 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.OpenAI/README.md +++ b/src/SKIT.FlurlHttpClient.Wechat.OpenAI/README.md @@ -2,7 +2,7 @@ [![GitHub Stars](https://img.shields.io/github/stars/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Stars)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![GitHub Forks](https://img.shields.io/github/forks/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Forks)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![NuGet Download](https://img.shields.io/nuget/dt/SKIT.FlurlHttpClient.Wechat.OpenAI.svg?sanitize=true&label=Downloads)](https://www.nuget.org/packages/SKIT.FlurlHttpClient.Wechat.OpenAI) [![License](https://img.shields.io/github/license/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?label=License)](https://mit-license.org/) -基于 `Flurl.Http` 的微信对话开放平台 API 版客户端。 +基于 `Flurl.Http` 的微信对话开放平台 HTTP API SDK。 --- diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayBusiness/README.md b/src/SKIT.FlurlHttpClient.Wechat.TenpayBusiness/README.md index 24ca7384..8273cd7c 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayBusiness/README.md +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayBusiness/README.md @@ -2,7 +2,7 @@ [![GitHub Stars](https://img.shields.io/github/stars/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Stars)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![GitHub Forks](https://img.shields.io/github/forks/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Forks)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![NuGet Download](https://img.shields.io/nuget/dt/SKIT.FlurlHttpClient.Wechat.TenpayBusiness.svg?sanitize=true&label=Downloads)](https://www.nuget.org/packages/SKIT.FlurlHttpClient.Wechat.TenpayBusiness) [![License](https://img.shields.io/github/license/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?label=License)](https://mit-license.org/) -基于 `Flurl.Http` 的腾讯微企付 API 客户端。 +基于 `Flurl.Http` 的腾讯微企付 HTTP API SDK。 --- diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/README.md b/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/README.md index a1a1533e..3580ecdb 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/README.md +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV2/README.md @@ -2,7 +2,7 @@ [![GitHub Stars](https://img.shields.io/github/stars/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Stars)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![GitHub Forks](https://img.shields.io/github/forks/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Forks)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![NuGet Download](https://img.shields.io/nuget/dt/SKIT.FlurlHttpClient.Wechat.TenpayV2.svg?sanitize=true&label=Downloads)](https://www.nuget.org/packages/SKIT.FlurlHttpClient.Wechat.TenpayV2) [![License](https://img.shields.io/github/license/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?label=License)](https://mit-license.org/) -基于 `Flurl.Http` 的微信商户平台 API v2 版客户端。 +基于 `Flurl.Http` 的微信商户平台 HTTP API SDK。 **注意**:本库仅仅包含微信支付未提供 v3 版 API 的部分功能,如需微信支付 v3 版 API 客户端,欢迎使用 [`SKIT.FlurlHttpClient.Wechat.TenpayV3`](https://www.nuget.org/packages/SKIT.FlurlHttpClient.Wechat.TenpayV3)。 diff --git a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/README.md b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/README.md index 10934237..5134dbe3 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/README.md +++ b/src/SKIT.FlurlHttpClient.Wechat.TenpayV3/README.md @@ -2,7 +2,7 @@ [![GitHub Stars](https://img.shields.io/github/stars/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Stars)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![GitHub Forks](https://img.shields.io/github/forks/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Forks)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![NuGet Download](https://img.shields.io/nuget/dt/SKIT.FlurlHttpClient.Wechat.TenpayV3.svg?sanitize=true&label=Downloads)](https://www.nuget.org/packages/SKIT.FlurlHttpClient.Wechat.TenpayV3) [![License](https://img.shields.io/github/license/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?label=License)](https://mit-license.org/) -基于 `Flurl.Http` 的微信商户平台 API v3 版客户端。 +基于 `Flurl.Http` 的微信商户平台 HTTP API SDK。 --- @@ -10,8 +10,8 @@ - 基于微信支付 v3 版 API 封装。 - 支持直连商户、服务商两种模式。 -- 请求时自动生成签名(同时支持国际 RSA 算法或国密 SM 算法),无需开发者手动干预。 -- 提供了微信支付所需的 RSA、AES、SM2/SM3/SM4、SHA-256 等算法工具类。 +- 请求时自动生成签名(支持国际 RSA 算法或国密 SM 算法),无需开发者手动干预。 +- 提供了微信支付所需的 AES、RSA、SM2/SM3/SM4、SHA-256 等算法工具类。 - 提供了调起支付签名、解析响应敏感数据、解析回调通知事件敏感数据等扩展方法。 --- diff --git a/src/SKIT.FlurlHttpClient.Wechat.Work/README.md b/src/SKIT.FlurlHttpClient.Wechat.Work/README.md index 578d0ca8..d7f96d58 100644 --- a/src/SKIT.FlurlHttpClient.Wechat.Work/README.md +++ b/src/SKIT.FlurlHttpClient.Wechat.Work/README.md @@ -2,7 +2,7 @@ [![GitHub Stars](https://img.shields.io/github/stars/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Stars)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![GitHub Forks](https://img.shields.io/github/forks/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?logo=github&label=Forks)](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat) [![NuGet Download](https://img.shields.io/nuget/dt/SKIT.FlurlHttpClient.Wechat.Work.svg?sanitize=true&label=Downloads)](https://www.nuget.org/packages/SKIT.FlurlHttpClient.Wechat.Work) [![License](https://img.shields.io/github/license/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat?label=License)](https://mit-license.org/) -基于 `Flurl.Http` 的企业微信 API 客户端。 +基于 `Flurl.Http` 的企业微信 HTTP API SDK。 --- @@ -10,7 +10,7 @@ - 基于企业微信 API 封装。 - 支持企业内部开发、第三方应用开发、服务商代开发、智慧硬件开发四种模式。 -- 提供了企业微信 API 所需的 SHA-1、AES 等算法工具类。 +- 提供了企业微信 API 所需的 AES、SHA-1 等算法工具类。 - 提供了 JS-SDK 签名、解析回调通知事件等扩展方法。 ---