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

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

@@ -10,8 +10,8 @@
```csharp
bool ret = client.VerifyEventSignature(
callbackAuthorization: "微企付回调通知中的 TBEP-Authorization 标头",
callbackBody: "微企付回调通知中请求正文"
webhookAuthorization: "微企付回调通知中的 TBEP-Authorization 标头",
webhookBody: "微企付回调通知中请求正文"
);
```
@@ -19,13 +19,12 @@ bool ret = client.VerifyEventSignature(
### 调试验签错误:
由于 `VerifyEventSignature()` 方法内部会 `try-catch` 掉所有异常情况,并直接返回 `false`。为方便开发者在调试阶段排查验签的错误信息,你可以在验证回调通知事件签名时指定接收最后一个 `out` 返回参数,该参数中包含了一些异常的原因和相关堆栈信息。
由于 `VerifyEventSignature()` 方法内部会 `try-catch` 掉所有异常情况,并直接返回 `false`。为方便开发者在调试阶段排查验签的错误信息,你可以在验证回调通知事件签名时指定返回值类型为 `ErroredResult` 而非 `Boolean`,该返回值中包含了一些异常的原因和相关堆栈信息。
```csharp
bool ret = client.VerifyEventSignature(authorization, signature, out Exception error);
if (!ret)
ErroredResult res = client.VerifyEventSignature(authorization, signature);
if (!res.Result)
{
Console.WriteLine(error);
Console.WriteLine(error?.InnerException);
Console.WriteLine(res.Error);
}
```

View File

@@ -58,7 +58,7 @@ var options = new WechatTenpayBusinessOptions()
SensitivePropertyEncryptionSM4Key = "SM4 密钥",
SensitivePropertyEncryptionSM4IV = "SM4 偏移量"
};
var client = new WechatTenpayBusinessClient(options);
var client = WechatTenpayBusinessClientBuilder.Create(options).Build();
```
这样,本库会在实际发出请求前自动为你调用 `EncryptRequestSensitiveProperty()` 方法。

View File

@@ -38,7 +38,7 @@ var options = new WechatTenpayBusinessClientOptions()
{
AutoDecryptResponseSensitiveProperty = true
};
var client = new WechatTenpayBusinessClient(options);
var client = WechatTenpayBusinessClientBuilder.Create(options).Build();
```
这样,本库会在实际收到响应后自动为你调用 `DecryptResponseSensitiveProperty()` 方法。

View File

@@ -25,13 +25,12 @@ bool ret = client.VerifyResponseSignature(response);
### 调试验签错误:
由于 `VerifyResponseSignature()` 方法内部会 `try-catch` 掉所有异常情况,并直接返回 `false`。为方便开发者在调试阶段排查验签的错误信息,你可以在验证响应签名时指定接收最后一个 `out` 返回参数,该参数中包含了一些异常的原因和相关堆栈信息。
由于 `VerifyResponseSignature()` 方法内部会 `try-catch` 掉所有异常情况,并直接返回 `false`。为方便开发者在调试阶段排查验签的错误信息,你可以在验证响应签名时指定返回值类型为 `ErroredResult` 而非 `Boolean`,该返回值中包含了一些异常的原因和相关堆栈信息。
```csharp
bool ret = client.VerifyResponseSignature(response, out Exception error);
if (!ret)
ErroredResult res = client.VerifyResponseSignature(response);
if (!res.Result)
{
Console.WriteLine(error);
Console.WriteLine(error?.InnerException);
Console.WriteLine(res.Error);
}
```

View File

@@ -15,6 +15,9 @@
## 快速入门
> [!IMPORTANT]
> 此目录下的文档适用于 v3.x 版本的模块。如果你正在使用 2.x 版本,请移步至 GitHub/Gitee 的已归档分支。
### 安装:
提示:如果你使用 Visual Studio NuGet 管理器图形化界面,请在搜索结果中勾选“**包括预发行版**”。
@@ -30,7 +33,6 @@
### 初始化:
```csharp
using SKIT.FlurlHttpClient.Wechat;
using SKIT.FlurlHttpClient.Wechat.TenpayBusiness;
var options = new WechatTenpayBusinessClientOptions()
@@ -44,7 +46,7 @@ var options = new WechatTenpayBusinessClientOptions()
TBEPCertificateSerialNumber = "微企付证书序列号",
TBEPCertificatePublicKey = "-----BEGIN PUBLIC KEY-----微企付证书公钥-----END PUBLIC KEY-----"
};
var client = new WechatTenpayBusinessClient(options);
var client = WechatTenpayBusinessClientBuilder.Create(options).Build();
```
### 请求 & 响应:
@@ -74,7 +76,7 @@ else
## 基础用法
- [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Basic_ModelDefinition.md)
- [如何快速找到需要调用的 API 模型类名 / 方法名(附完整 API 对照表)?](./Basic_ModelDefinition.md)
- [如何加密请求中的敏感数据?](./Basic_RequestSensitiveDataEncryption.md)
@@ -88,7 +90,7 @@ else
## 高级技巧
- [如何在 ASP.NET Core 中与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md)
- [如何与 `IHttpClientFactory` 集成?](./Advanced_IHttpClientFactory.md)
- [如何指定 JSON 序列化器?](./Advanced_JsonSerializer.md)