wechat Version: 1.2.2 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) {
  // 弹出微信相册发图器的事件推送
});
Event.dispatch(events);
方法 Event.dispatch() Event dispatch

list: API索引


List

回复列表类型

函数 List() List

get

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

方法 List.prototype.get() get
参数 key(String) 列表中的关键词

add

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

方法 List.add() List add
参数 name(String) 列表名字
参数 items(Array) 元素列表
参数 head(String) 回复开头
参数 delimiter(String) 回复分隔符
参数 foot(String) 回复底部

get

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

方法 List.get() List get
参数 name(String) 列表名字

clear

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

方法 List.clear() List clear
参数 name(String) 列表名字

menu: API索引


Menu

函数 Menu() Menu

session: API索引


Session

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

函数 Session() Session
参数 id(String) Session ID
参数 req(Object) Connect中的请求对象
参数 data(Object) 可选的其余数据,将被合并进Session对象中

save

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

Callback:

  • err, 错误对象,保存发生错误时传入
方法 Session.prototype.save() save
参数 callback(Function) 保存Session的回调函数

destroy

销毁Session对象

Callback:

  • err, 错误对象,删除发生错误时传入
方法 Session.prototype.destroy() destroy
参数 callback(Function) 从存储中删除Session数据后的回调函数

wechat: API索引


checkSignature

检查签名

函数 checkSignature() checkSignature

Handler

微信自动回复平台的内部的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() setHandler
参数 type(String) handler处理的消息类型
参数 handle(Function) handle对象

getHandler

根据消息类型取出handler对象

方法 Handler.prototype.getHandler() getHandler
参数 type(String) 消息类型

middlewarify

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

方法 Handler.prototype.middlewarify() 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)。
函数 middleware() middleware
参数 token(String) 在微信平台填写的口令
参数 handle(Function) 生成的回调函数,参见示例