mirror of
https://gitee.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat.git
synced 2025-09-18 17:48:12 +08:00
docs: 完善文档
This commit is contained in:
@@ -54,25 +54,7 @@ switch (msgType)
|
||||
|
||||
在安全模式下,微信公众平台使用了一种特殊的 AES 算法对回调通知事件加密。
|
||||
|
||||
开发者可利用本库提供的 `WxBizMsgCryptor` 工具类自行解密相关字段。
|
||||
|
||||
此外,本库还封装了直接解密事件的扩展方法,下面给出一个示例代码:
|
||||
|
||||
```csharp
|
||||
/* 在初始化客户端时需指定服务器推送的相关参数 */
|
||||
var options = new WechatApiClientOptions()
|
||||
{
|
||||
AppId = "微信 AppId",
|
||||
AppSecret = "微信 AppSecret",
|
||||
PushEncodingAESKey = "服务器推送的 EncodingAESKey",
|
||||
PushToken = "服务器推送的 Token"
|
||||
};
|
||||
var client = new WechatApiClient(options);
|
||||
|
||||
/* 如果是 XML 格式的加密通知内容,以 text 事件为例 */
|
||||
string callbackXml = "<xml> <Encrypt>...</Encrypt> </xml>";
|
||||
var callbackModel = client.DeserializeEventFromXml<Events.TextMessageEvent>(callbackXml, safety: true);
|
||||
```
|
||||
上述提供的扩展方法,会自动判定是否处于安全模式下,无需开发者手动干预。
|
||||
|
||||
---
|
||||
|
||||
@@ -95,10 +77,10 @@ var replyModel = new Events.TextMessageReply()
|
||||
string replyXml = client.SerializeEventToXml(replyModel);
|
||||
```
|
||||
|
||||
如果是在安全模式下,那么可以:
|
||||
需要注意的是,默认会序列化为安全模式;如果需要明文模式下的数据,那么可以:
|
||||
|
||||
```csharp
|
||||
string replyXml = client.SerializeEventToXml(replyModel, safety: true);
|
||||
string replyXml = client.SerializeEventToXml(replyModel, safety: false);
|
||||
```
|
||||
|
||||
完整的被动回复模型定义可以参考项目目录下的 _src/SKIT.FlurlHttpClient.Wechat.Api/Events/MpReply_ 目录。
|
||||
|
@@ -6,7 +6,7 @@
|
||||
>
|
||||
> [《微信官方文档 - 开始开发:接入指南》](https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html)
|
||||
|
||||
同样地,你既可以利用本库提供的 `SHA1Utility`、`WxBizMsgCryptor` 工具类自行进行签名验证,也可以通过扩展方法实现:
|
||||
同样地,你既可以利用本库提供的 `SHA1Utility` 工具类自行进行签名验证,也可以通过扩展方法实现:
|
||||
|
||||
```csharp
|
||||
/* 验证微信服务器 */
|
||||
@@ -20,4 +20,9 @@ bool ret = client.VerifyEventSignatureForEcho(
|
||||
bool ret = client.VerifyEventSignatureFromXml(
|
||||
callbackXml: "微信公众平台发来的通知内容,形如:<xml><Encrypt>...</Encrypt></xml>"
|
||||
);
|
||||
|
||||
/* 验证安全模式下 JSON 消息的签名 */
|
||||
bool ret = client.VerifyEventSignatureFromJson(
|
||||
callbackJson: "微信公众平台发来的通知内容,形如:{\"Encrypt\":\"...\"}"
|
||||
);
|
||||
```
|
||||
|
Reference in New Issue
Block a user