Nodejs Wechat
Nodejs wrapper of wechat api
Usage
Work with native http server
var http = ;var xmlBodyParser = ;var Wechat = ; var opt = token: 'TOKEN' url: '/';var parse = ;var wechat = opt;wechat;var server = http;server;
Work with express
var express = ;var app = ;var middlewares = ;app; /* Alternative way var xmlBodyParser = require('express-xml-parser');app.use('/weixin', xmlBodyParser({ type: 'text/xml', limit: '1mb'})); */ var Wechat = ;var opt = token: token url: '/weixin';var wechat = opt; app;app; // you can also work with other restful routesapp; wechat;wechat;wechat; app;
NOTE: We apply
{ type: 'text/xml' }
toxmlBodyParser
as weixin server send us atext/xml
content type instead ofapplication/xml
.
API
-
#verifyRequest(req, res)
This is a express/connect middleware, which verify the signature of request from weixin server
-
#handleRequest(req, res)
This is a express/connect middleware, which handle the request post from weixin server
-
#on(msgType, handler)
Wechat is an inheritance from event.EventEmitter. Wechat will emit an event in incoming message's
MsgType
, with aSession
as parameter. Valid events:text
,image
,voice
,video
,location
,link
,event.subscribe
,event.unsubscribe
,event.SCAN
,event.LOCATION
,event.CLICK
,event.VIEW
,error
Session
incomingMessage
This is a direct parse of weixin server request
<![CDATA[toUser]]><![CDATA[FromUser]]>123456789<![CDATA[event]]><![CDATA[subscribe]]>
Becomes
-
req
This is the request from weixin server
-
res
This is the response to weixin server
-
#replyMsg(msgObject)
Reply a message via
this.res
-
#replyTextMessage(content)
Reply a text message
-
#replyNewsMessage(articles)
Reply a news messages.
TODO
- Advanced interfaces
Will finish advanced interfaces before July/2014, welcome send pull requests :)