wechat Version: 2.0.1 By @Jackson Tian

微信公共平台Node库

events: API索引


dispatch

分发消息

var Event = require('wechat').Event;
var events = new Event();
events.add('pic_weixin', function (message, req, res, next) {
  // 弹出微信相册发图器的事件推送
});
var handle = Event.dispatch(events);
app.use('/wechat', wechat(config).event(handle).middlewarify());

方法签名

方法 Event.dispatch()

list: API索引


List

回复列表类型

方法签名

函数 List()

get

从List对象中根据key取出对应的handler

方法签名

方法 List.prototype.get()
参数 key(String)

列表中的关键词

add

静态方法,根据items生成List对象,并放置到缓存中

方法签名

方法 List.add()
参数 name(String)

列表名字

参数 items(Array)

元素列表

参数 head(String)

回复开头

参数 delimiter(String)

回复分隔符

参数 foot(String)

回复底部

get

静态方法,从缓存中根据名字取出List对象

方法签名

方法 List.get()
参数 name(String)

列表名字

clear

静态方法,清空缓存的所有的List对象

方法签名

方法 List.clear()
参数 name(String)

列表名字

session: API索引


Session

Session构造函数,用于与Connect的Session中间件集成的会话脚本

方法签名

函数 Session()
参数 id(String)

Session ID

参数 req(Object)

Connect中的请求对象

参数 data(Object)

可选的其余数据,将被合并进Session对象中

save

保存Session对象到实际的存储中

Callback:

  • err, 错误对象,保存发生错误时传入

方法签名

方法 Session.prototype.save()
参数 callback(Function)

保存Session的回调函数

destroy

销毁Session对象

Callback:

  • err, 错误对象,删除发生错误时传入

方法签名

方法 Session.prototype.destroy()
参数 callback(Function)

从存储中删除Session数据后的回调函数

wechat: API索引


checkSignature

检查签名

方法签名

函数 checkSignature()

Handler

微信自动回复平台的内部的Handler对象

方法签名

函数 Handler()
参数 config(String,Object)

配置

参数 handle(Function)

handle对象

setHandler

设置handler对象
按消息设置handler对象的快捷方式

  • text(fn)
  • image(fn)
  • voice(fn)
  • video(fn)
  • location(fn)
  • link(fn)
  • event(fn)

方法签名

方法 Handler.prototype.setHandler()
参数 type(String)

handler处理的消息类型

参数 handle(Function)

handle对象

getHandler

根据消息类型取出handler对象

方法签名

方法 Handler.prototype.getHandler()
参数 type(String)

消息类型

middlewarify

根据Handler对象生成响应方法,并最终生成中间件函数

方法签名

方法 Handler.prototype.middlewarify()

middleware

根据口令

Examples:
使用wechat作为自动回复中间件的三种方式

wechat(token, function (req, res, next) {});

wechat(token, wechat.text(function (message, req, res, next) {
  // TODO
}).location(function (message, req, res, next) {
  // TODO
}));

wechat(token)
  .text(function (message, req, res, next) {
    // TODO
  }).location(function (message, req, res, next) {
   // TODO
  }).middlewarify();

加密模式下token为config

var config = {
 token: 'token',
 appid: 'appid',
 encodingAESKey: 'encodinAESKey'
};
wechat(config, function (req, res, next) {});

静态方法

  • text,处理文字推送的回调函数,接受参数为(text, req, res, next)。
  • image,处理图片推送的回调函数,接受参数为(image, req, res, next)。
  • voice,处理声音推送的回调函数,接受参数为(voice, req, res, next)。
  • video,处理视频推送的回调函数,接受参数为(video, req, res, next)。
  • location,处理位置推送的回调函数,接受参数为(location, req, res, next)。
  • link,处理链接推送的回调函数,接受参数为(link, req, res, next)。
  • event,处理事件推送的回调函数,接受参数为(event, req, res, next)。
  • shortvideo,处理短视频推送的回调函数,接受参数为(event, req, res, next)。

方法签名

函数 middleware()
参数 token(String)

在微信平台填写的口令

参数 handle(Function)

生成的回调函数,参见示例