baidu-push

node.js sdk for baidu push service

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(errorresult) {});

根据 tag 向一群 users 推送消息

var option = {
  push_type: 2,
  tag: testTag.name,
  messages: ["push by tag"],
  msg_keys: ["title"]
}
client.pushMsg(option, function(errorresult) {})

添加user的tag

var option = {
  tag: testTag.name,
  user_id: userId
}
client.setTag(option, function(errorresult) {})

获取user的tag

var option = {
  user_id: userId
}
client.queryUserTags(option, function (errorresult) {})

删除user的tag

var option = {
  tag: testTag.name,
  user_id: userId
}
client.deleteTag(option, function(errorresult) {})

获取app的tag

client.fetchTag({}, function (errorresult) {})

query bind list

var option = {
  user_id: userId
}
client.queryBindList(option, function(errorresult) {})
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