支持的消息类型
请求消息
参考文档:http://mp.weixin.qq.com/wiki/10/79502792eef98d6e0c6e1739da387346.html
- RequestMessageImage(图片消息)
- RequestMessageLink(链接消息)
- RequestMessageLocation(位置消息)
- RequestMessageShortVideo(短视频消息)
- RequestMessageText(文本消息)
- RequestMessageVideo(视频消息)
- RequestMessageVoice(语音消息)
事件消息
由于较多直接给出GitHub地址: https://github.com/RabbitTeam/WeiXinSDK/tree/master/Rabbit.WeiXin/SDK/Rabbit.WeiXin/Messages/Events
响应消息
- ResponseMessageImage(图片消息)
- ResponseMessageMusic(音乐消息)
- ResponseMessageNews(图文消息)
- ResponseMessageText(文本消息)
- ResponseMessageTransferCustomerService(多客服消息)
- ResponseMessageVideo(视频消息)
- ResponseMessageVoice(语音消息)
消息处理中间件
- SignatureCheckHandlerMiddleware(验证签名中间件)
- CreateRequestMessageHandlerMiddleware(创建消息中间件)
- SessionSupportHandlerMiddleware(会话支持中间件)
- IgnoreRepeatMessageHandlerMiddleware(忽略重复的消息中间件)
- GenerateResponseXmlHandlerMiddleware(生成相应XML处理中间件)
- AgentHandlerMiddleware(代理请求中间件)
支持的API
- 基础接口
- 获取access token
- 获取微信服务器IP地址
- 发送消息
- 素材管理
- 用户管理
- 自定义菜单
- 账号管理
- 多客服接口
- 客服管理
- 多客服会话控制
- 获取客服聊天记录
- 微信门店接口
- 微信卡券接口(部分)
- 上传卡券Logo
- 创建卡券
- 获取卡券可用颜色
- 微信卡券接口
- 投放卡券
- 核销卡券
- 管理卡券
- 卡券事件推送
暂不支持的API
- 数据统计接口
- 微信小店接口
- 微信智能接口
- 摇一摇周边
关于性能
在之前的文章就有提及新的SDK是比较追求性能的而在beta1版本中通过一些性能测试还算是达标,后续我会继续在性能上做足优化,争取提升并发量。
下面是与市面上一个较成熟的微信SDK的性能测试对比:
测试环境:
CPU:i7-3610qm
内存:16gb
系统:Windows 8.1 x64
编译配置:Release
迭代次数:10000(一万次)
计数工具:CodeTimer
对比的SDK:暂不透露
测试结果:
为了防止和用来做对比的SDK粉丝或作者争吵,所以具体的测试代码我不放出了,同样用来被对比的SDK名称我也不公布了,但测试结果绝对公正。
关于扩展性
在消息处理过程中采用了管道模式的设计,借鉴了Open Web Interface的思想和一些规范来打造整个消息处理的模型,使消息处理变得更加轻便。
同时SDK内部内置了一个简单的依赖注入实现 IDependencyResolver,解耦了很多服务与服务实现。
下面的Demo项目的中的微信请求Action:
使用者可以自行注册处理的中间件来完成自定的逻辑,后面会专门写具体的使用教程。
关于架构
消息处理
请求消息
事件消息
响应消息
消息格式化器
Get By Nuget
主要分为两个组件
Rabbit.Web
地址:https://www.nuget.org/packages/Rabbit.WeiXin/
命令:Install-Package Rabbit.WeiXinRabbit.WeiXin.MvcExtension
地址:https://www.nuget.org/packages/Rabbit.WeiXin.MvcExtension/
命令:Install-Package Rabbit.WeiXin.MvcExtension
测试的微信号
交流方式
QQ群:384413261
Email:majian159@live.com