docs: 完善文档

This commit is contained in:
Fu Diwei
2022-05-09 20:31:03 +08:00
parent a0a90f4851
commit 9bf9d0c979
23 changed files with 405 additions and 35 deletions
@@ -37,11 +37,11 @@
```csharp
bool ret = client.VerifyEventSignature(
callbackTimestamp: "微信回调通知中的 Wechatpay-Timestamp 字段",
callbackNonce: "微信回调通知中的 Wechatpay-Nonce 字段",
callbackTimestamp: "微信回调通知中的 Wechatpay-Timestamp 标头",
callbackNonce: "微信回调通知中的 Wechatpay-Nonce 标头",
callbackBody: "微信回调通知中请求正文",
callbackSignature: "微信回调通知中的 Wechatpay-Signature 字段",
callbackSerialNumber: "微信回调通知中的 Wechatpay-Serial 字段"
callbackSignature: "微信回调通知中的 Wechatpay-Signature 标头",
callbackSerialNumber: "微信回调通知中的 Wechatpay-Serial 标头"
);
```
@@ -67,14 +67,14 @@ var request = new Models.AddProfitSharingReceiverRequest()
RelationType = "PARTNER"
};
string temp = request.Name; // 此时仍是明文
Console.WriteLine("before: {0}", request.Name); // 此时仍是明文
client.EncryptRequestSensitiveProperty(request);
string temp = request.Name; // 此时已是密文
Console.WriteLine("after: {0}", request.Name); // 此时已是密文
var response = await client.ExecuteAddProfitSharingReceiverAsync(request);
```
如果你希望本库在请求前能自动完成这项操作,你可以在构造得到 `WechatApiClient` 对象时指定自动化参数:
如果你希望本库在请求前能自动完成这项操作,你可以在构造得到 `WechatTenpayClient` 对象时指定自动化参数:
```csharp
var options = new WechatTenpayClientOptions()
@@ -97,7 +97,7 @@ var client = new WechatTenpayClient(options);
微信商户平台证书需要通过 API 的方式获取、且可能同时存在多个有效证书,本库提供了一个 `CertificateManager` 类型可用于管理证书信息。
你可以在构造得到 `WechatApiClient` 对象时指定证书管理器:
你可以在构造得到 `WechatTenpayClient` 对象时指定证书管理器:
```csharp
var manager = new InMemoryCertificateManager(); // 为便于后续使用,该对象可使用同一商户号下全局单例的方式声明
@@ -21,10 +21,10 @@
开发者利用本库提供的 `RSAUtility`、`AESUtility` 工具类自行解密相关字段。下面给出一个使用 `RSAUtility` 工具类解密数据的示例代码:
```csharp
string chiperText = "待解密的数据";
string cipherText = "待解密的数据";
string privateKey = "PKCS#8 私钥内容";
/* 通过私钥解密数据 */
string plainText = RSAUtility.DecryptWithECB(privateKey, chiperText);
string plainText = RSAUtility.DecryptWithECB(privateKey, cipherText);
```
此外,本库还封装了直接解密响应中敏感信息字段的扩展方法,下面给出一个示例代码:
@@ -33,12 +33,12 @@ string plainText = RSAUtility.DecryptWithECB(privateKey, chiperText);
var request = new Models.QueryCertificatesRequest();
var response = await client.ExecuteQueryCertificatesAsync(request);
string temp = response.CertificateList.First().EncryptCertificate.CipherText; // 此时仍是密文
Console.WriteLine("before: {0}", response.CertificateList.First().EncryptCertificate.CipherText); // 此时仍是密文
client.DecryptResponseSensitiveProperty(response);
string temp = response.CertificateList.First().EncryptCertificate.CipherText; // 此时已是明文
Console.WriteLine("after: {0}", response.CertificateList.First().EncryptCertificate.CipherText); // 此时已是明文
```
如果你希望本库在响应后能自动完成这项操作,你可以在构造得到 `WechatApiClient` 对象时指定自动化参数:
如果你希望本库在响应后能自动完成这项操作,你可以在构造得到 `WechatTenpayClient` 对象时指定自动化参数:
```csharp
var options = new WechatTenpayClientOptions()