Skip to content

deerchao/weixin.next.core

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

weixin.next.core

.Net 下的微信公众号接口库, 用于调用微信公众平台提供的各种数据接口, 处理微信服务器发来的各种消息.

支持 .Net Standard 2.0. 已完成菜单, 用户, 消息, 媒体素材, 网页验证等接口.

目标

简单易用

  • 接口名称和消息类型等遵循 .Net 的命名规范.
  • 异步方法名称后不加 Async 后缀(因为大部分方法都是异步的).
  • 提供 access_token, jsapi_ticket 等的自动过期管理机制
  • 提供 Asp.net Mvc(Razor Pages) 示例项目.

简洁高效

  • 所有网络 I/O 使用异步机制
  • access_token, jsapi_ticket 等能方便地支持多台服务器间的协同工作.
  • 可自定义 JSON 库(自带 Json.Net 实现)
  • 可自定义消息去重缓存策略(自带内存缓存实现)

持续更新

  • 附带官方文档下载功能, 可随时更新并 diff

使用说明

具体可参见 Sample 项目.

接口调用

首先使用 JsonParser, AccessTokenManager, HttpClient 构造好 ApiConfig 对象, 将其设置为 ApiHelper 默认的 ApiConfig, 然后就可以直接调用不同的接口方法了. 在调用具体接口时, 如因需要支持多个公众号等原因, 也可以提供一个不同于默认的 ApiConfig 对象.

所有接口调用都返回 TaskTask<T> 结果, 应用层应对其进行 await. 接口调用有可能抛出 ApiException, 对应微信返回的 {"errcode": xxx, "errmsg": "yyy"} 的情况.

消息处理

首先从 MessageCenter/MessageHandler 派生自己的类, 按自己的需求重写部分方法, 然后实例化一个 MessageCenter 对象, 调用其 ProcessMessage 方法即可.

MessageCenter 负责加密/解密, 序列化/反序列化, 消息去重等功能;MessageHandler 负责处理单条消息.

致谢

本项目部分设计受 JefferySu 的 WeiXinMPSDK 影响.

About

.Net Standard 2.0 version of weixin.next

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published