0.1.0 • Published 8 years ago
@neuroo_fe/wechat-template-mass v0.1.0
wechat-template-mass
微信模版消息群发功能模块。
Usage
npm install @neuroo_fe/wechat-template-mass -Sconst MassFactory = require('wechat-template-mass')
const massFactory = new MassFactory(appId, appSecret [,getTokenFunction])
const openIds = [ 'oDetxwdKb1uyCTogQzFvYymlrcLc' ]
const concurrent = 10
const templateId = 'D_vgWaYRVADAtXKYPxWPlsRQ5tBY3R70Hig4W_LhsX8'
const url = 'https://google.com/'
const data = {
  first: {
    value: '测试内容',
    color: '#000000'
  },
  remark: {
    value: '测试内容',
    color: '#000000'
  }
}
const mass = massFactory.createMass(openIds, concurrent, templateId, url, data)
mass.on('finish', console.log)
mass.start()
/*
{ ok: 0,
  fail: 1,
  complete: 1,
  total: 1,
  startTime: '2017-8-18 14:53:41',
  endTime: '2017-8-18 14:53:45',
  duration: 23 }
*/MassFactory 构造函数
new MassFactory(appId, appSecret, getTokenFunction)
生成一个MassFactory实例对象
参数
| 名称 | 类型 | 必填 | 描述 | 
|---|---|---|---|
| appId | String | 否 | 微信公众号appId | 
| appSecret | String | 否 | 微信公众号appSecret | 
| getTokenFunction | String | 否 | 获取公众号接口access_token方法 | 
注意:需要传入
appId或getTokenFunction其中一个。
返回值
MassFactory实例对象。
MassFactory 实例方法
createMass
生成 Mass 实例
参数
| 名称 | 类型 | 必填 | 描述 | 
|---|---|---|---|
| openIds | Array | 是 | 群发目标的openId数组 | 
| concurrent | Number | 是 | 并发数 | 
| templateId | String | 是 | 模板Id | 
| url | String | 是 | 模板点击后跳转的URL | 
| data | Object | 是 | 模板插值的填充数据 | 
返回值
Mass 实例对象。
Mass 实例方法
start
开始群发任务。重复调用无效。
stop
停止群发任务。重复调用无效,先恢复后才能再次暂停。
resume
恢复群发任务。重复调用无效,先暂停后才能再次恢复。
Mass 实例事件
ok
当群发的消息中有一条成功时触发。参数为result对象。
result 对象属性
| 名称 | 类型 | 描述 | 
|---|---|---|
| openId | String | 用户openId | 
| status | String | 发送状态 | 
fail
当群发的消息中有一条失败时触发。参数为result对象。
result 对象属性
| 名称 | 类型 | 描述 | 
|---|---|---|
| openId | String | 用户openId | 
| status | String | 发送状态 | 
| response | Object | 错误对象 | 
finish
当全部群发完成时触发。参数为result对象。
result 对象属性
| 名称 | 类型 | 描述 | 
|---|---|---|
| ok | Number | 成功数量 | 
| fail | Number | 失败数量 | 
| complete | Number | 完成的数量 | 
| total | Number | 总数量。一般应该等于 complete。 | 
| startTime | String | 开始发送的时间。 | 
| endTime | String | 完成时的时间。 | 
| duration | Number | 发送的持续时间。单位:ms。当调用 stop()方法暂停发送时,只在重新调用resume()方法恢复发送时才会重新计算duration,因此中间的等待时间不计入此属性。 | 
progress
进度事件。参数为result对象。
result 对象属性
| 名称 | 类型 | 描述 | 
|---|---|---|
| ok | Number | 成功数量 | 
| fail | Number | 失败数量 | 
| complete | Number | 完成的数量 | 
| total | Number | 总数量。一般应该等于 complete。 | 
| percent | String | 进度百分比。 | 
0.1.0
8 years ago