baidu-push

0.6.1 • Public • Published

NPM version License Dependency status

baidu-push

node.js sdk for baidu push service, friendly with co, koa ...

npm install baidu-push

百度云推送

  • 官方文档
  • api参数与官网文档一致, 必需的 method, apikey, timestamp, sign 等参数已内部处理, 无需在每次调用时输入

api列表

  • 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) {})

use with co or koa

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()

Coverage

98%

License

MIT

Package Sidebar

Install

npm i baidu-push

Weekly Downloads

8

Version

0.6.1

License

MIT

Last publish

Collaborators

  • coderhaoxin