docs: 完善文档

This commit is contained in:
Fu Diwei
2024-02-07 11:22:05 +08:00
committed by RHQYZ
parent 8cf032f25a
commit c774af7466
49 changed files with 181 additions and 171 deletions

View File

@@ -1,14 +1,14 @@
## 如何在 ASP.NET Core 中`IHttpClientFactory` 集成?
## 如何与 `IHttpClientFactory` 集成?
---
本功能来自于公共组件,请参阅公共组件下的相关文档:
> [《SKIT.FlurlHttpClient FAQ如何在 ASP.NET Core 中与 IHttpClientFactory 集成?》](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient/blob/main/docs/FAQ_IHttpClientFactory.md)
> [《SKIT.FlurlHttpClient FAQ如何与 IHttpClientFactory 集成?》](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient/blob/main/docs/README.md)
需要注意的是,由于部分微信支付接口需要显式地在构造 `System.Net.Http.HttpMessageHandler` 时指定双向认证的 SSL 证书,按照上文提供的方式自定义 `Flurl.Http.Configuration.DefaultHttpClientFactory` 时,也就必须重写此部分逻辑。
需要注意的是,由于部分微信支付接口需要显式地在构造 `System.Net.Http.HttpMessageHandler` 时指定双向认证的 SSL 证书,按照上文提供的方式自定义 `System.Net.Http.HttpClient` 时,也就必须重写此部分逻辑。
关于这点可以参考本库内置的一个类型,完整的代码请参阅项目目录下的 _src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Settings/HttpClientFactory_ 文件。
关于这点可以参考本库内置的一个类型,完整的代码请参阅项目目录下的 _src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Settings/WechatpayHttpHandler.cs_ 文件。
---

View File

@@ -4,7 +4,7 @@
本功能来自于公共组件,请参阅公共组件下的相关文档:
> [《SKIT.FlurlHttpClient FAQ如何使用拦截器》](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient/blob/main/docs/FAQ_Interceptor.md)
> [《SKIT.FlurlHttpClient FAQ如何使用拦截器》](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient/blob/main/docs/README.md)
---

View File

@@ -4,7 +4,7 @@
本功能来自于公共组件,请参阅公共组件下的相关文档:
> [《SKIT.FlurlHttpClient FAQ如何指定 JSON 序列化器?》](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient/blob/main/docs/FAQ_JsonSerializer.md)
> [《SKIT.FlurlHttpClient FAQ如何指定 JSON 序列化器?》](https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient/blob/main/docs/README.md)
---

View File

@@ -12,13 +12,13 @@
```csharp
/* 微信商户平台发来的通知内容 */
string callbackXml = "<xml> ... </xml>";
string webhookXml = "<xml> ... </xml>";
/* 将 XML 反序列化得到通知对象 */
var callbackModel = client.DeserializeEvent(callbackXml);
var webhookModel = client.DeserializeEvent(webhookXml);
/* 解密得到支付通知敏感数据(以退款结果通知为例) */
var callbackEventInfo = client.DecryptEventRequestInfo<Events.RefundEventRequestInfo>(callbackModel);
string outRefundNumber = callbackResource.OutRefundNumber;
string refundId = callbackResource.RefundId;
var webhookEventInfo = client.DecryptEventRequestInfo<Events.RefundEventRequestInfo>(webhookModel);
string outRefundNumber = webhookEventInfo.OutRefundNumber;
string refundId = webhookEventInfo.RefundId;
```
完整的回调通知模型定义可以参考项目目录下的 _src/SKIT.FlurlHttpClient.Wechat.TenpayV2/Events_ 目录。

View File

@@ -10,6 +10,6 @@
```csharp
bool ret = client.VerifyEventSignature(
callbackBody: "<xml> 微信回调通知中请求正文 XML 内容 </xml>"
webhookBody: "<xml> 微信回调通知中请求正文 XML 内容 </xml>"
);
```

View File

@@ -18,6 +18,9 @@
## 快速入门
> [!IMPORTANT]
> 此目录下的文档适用于 v3.x 版本的模块。如果你正在使用 2.x 版本,请移步至 GitHub/Gitee 的已归档分支。
### 安装:
提示:如果你使用 Visual Studio NuGet 管理器图形化界面,请在搜索结果中勾选“**包括预发行版**”。
@@ -33,7 +36,6 @@
### 初始化:
```csharp
using SKIT.FlurlHttpClient.Wechat;
using SKIT.FlurlHttpClient.Wechat.TenpayV2;
var options = new WechatTenpayClientOptions()
@@ -43,7 +45,7 @@ var options = new WechatTenpayClientOptions()
MerchantCertificateBytes = File.ReadAllBytes("/微信商户证书文件路径/apiclient_cert.p12"),
MerchantCertificatePassword = "微信商户证书密码,通常是商户号"
};
var client = new WechatTenpayClient(options);
var client = WechatTenpayClientBuilder.Create(options).Build();
```
### 请求 & 响应:
@@ -82,7 +84,7 @@ else
## 基础用法
- [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Basic_ModelDefinition.md)
- [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Basic_ModelDefinition.md)
- [如何解密回调通知事件中的敏感数据?](./Basic_EventInfoDecryption.md)
@@ -94,7 +96,7 @@ else
## 高级技巧
- [如何在 ASP.NET Core 中与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md)
- [如何与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md)
- [如何指定 JSON 序列化器?](./Advanced_JsonSerializer.md)