node.js sdk for baidu push service, friendly with co, koa ...
npm install baidu-push
- 官方文档
- api参数与官网文档一致, 必需的
method
,apikey
,timestamp
,sign
等参数已内部处理, 无需在每次调用时输入
- queryBindList
- pushMsg
- verifyBind
- fetchMsg
- fetchMsgCount
- deleteMsg
- setTag
- fetchTag
- deleteTag
- queryUserTags
- queryDeviceType
var Push = require('baidu-push');
var userId = 'a userId';
var pushOption = {
apiKey: 'api key',
secretKey: 'secret key',
// timeout: 2000, // optional - default is: 5000
// agent: false // optional - default is: maxSockets = 20
};
var client = Push.createClient(pushOption);
根据 userId 向某一 user 推送消息
var option = {
push_type: 1,
user_id: userId,
messages: ["hello"],
msg_keys: ["title"]
};
client.pushMsg(option, function(error, result) {});
根据 tag 向一群 users 推送消息
var option = {
push_type: 2,
tag: testTag.name,
messages: ["push by tag"],
msg_keys: ["title"]
}
client.pushMsg(option, function(error, result) {})
添加user的tag
var option = {
tag: testTag.name,
user_id: userId
}
client.setTag(option, function(error, result) {})
获取user的tag
var option = {
user_id: userId
}
client.queryUserTags(option, function (error, result) {})
删除user的tag
var option = {
tag: testTag.name,
user_id: userId
}
client.deleteTag(option, function(error, result) {})
获取app的tag
client.fetchTag({}, function (error, result) {})
query bind list
var option = {
user_id: userId
}
client.queryBindList(option, function(error, result) {})
var pushOption = {
wrapper: 'thunk', // or: promise
apiKey: 'your api key',
secretKey: 'your secret key'
}
var client = Push.createClient(pushOption)
// in co or koa
yield client.fetchTag()
98%
MIT