diff --git a/src/SKIT.FlurlHttpClient.Wechat.Api/SKIT.FlurlHttpClient.Wechat.Api.csproj b/src/SKIT.FlurlHttpClient.Wechat.Api/SKIT.FlurlHttpClient.Wechat.Api.csproj
index bb461483..0628f704 100644
--- a/src/SKIT.FlurlHttpClient.Wechat.Api/SKIT.FlurlHttpClient.Wechat.Api.csproj
+++ b/src/SKIT.FlurlHttpClient.Wechat.Api/SKIT.FlurlHttpClient.Wechat.Api.csproj
@@ -12,7 +12,7 @@
MIT
https://github.com/fudiwei/DotNetCore.SKIT.FlurlHttpClient.Wechat
Flurl.Http Wechat Weixin MicroMessage MiniProgram MiniGame MiniStore 微信 公众号 服务号 订阅号 小程序 小游戏 小商店 公众平台 开放平台 微信公众号 微信服务号 微信订阅号 微信小程序 微信小游戏 微信小商店 微信公众平台 微信开放平台
- 1.3.3
+ 1.3.4
Flurl.Http client for Wechat API. 基于 Flurl.Http 的微信 API 客户端,支持公众平台(订阅号、服务号、小程序、小游戏、小商店)、开放平台等平台,支持基础服务、模板消息、订阅消息、客服消息、动态消息、菜单管理、素材管理、留言管理、用户管理、账号管理、数据统计、微信门店、微信小店、智能接口、一物一码、微信发票、微信非税缴费、插件管理、附近的小程序、小程序码、小程序搜索、URL Scheme、URL Link、即时配送、物流助手、直播、生物认证、虚拟支付、开放数据、对局匹配、帧同步、内容安全、安全风控、第三方平台等功能。
Fu Diwei
git
diff --git a/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/WechatApiEventVerificationTests.cs b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/WechatApiEventVerificationTests.cs
new file mode 100644
index 00000000..e91e867f
--- /dev/null
+++ b/test/SKIT.FlurlHttpClient.Wechat.Api.UnitTests/WechatApiEventVerificationTests.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+using System.Threading.Tasks;
+using System.Xml.Linq;
+using Xunit;
+
+namespace SKIT.FlurlHttpClient.Wechat.Api.UnitTests
+{
+ public class WechatApiEventVerificationTests
+ {
+ [Fact(DisplayName = "验签并解密回调数据")]
+ public void GetEventMessageTypeTest()
+ {
+ string callbacMsgSig = "477715d11cdb4164915debcba66cb864d751f3e6";
+ string callbacTimeStamp = "1409659813";
+ string callbacNonce = "1372623149";
+ string callbackXml = "";
+
+ var options = new WechatApiClientOptions()
+ {
+ AppId = "wx5823bf96d3bd56c7",
+ PushEncodingAESKey = "jWmYm7qr5nMoAUwZRjGtBxmz3KA1tkAj3ykkR6q2B2C",
+ PushToken = "QDG6eK"
+ };
+ var client = new WechatApiClient(options);
+ var eventModel = client.DeserializeEventFromXml(callbackXml, safety: true);
+
+ Assert.True(client.VerifyEventSignatureFromXml(callbacTimeStamp, callbacNonce, callbackXml, callbacMsgSig));
+ Assert.Equal("text", eventModel.MessageType, ignoreCase: true);
+ Assert.Equal("hello", eventModel.Content);
+ Assert.Equal("wx5823bf96d3bd56c7", eventModel.ToUserName);
+ Assert.Equal("mycreate", eventModel.FromUserName);
+ }
+ }
+}