微信模版消息群发功能模块。
npm install @neuroo_fe/wechat-template-mass -S
const 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
实例对象
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
appId | String | 否 | 微信公众号appId |
appSecret | String | 否 | 微信公众号appSecret |
getTokenFunction | String | 否 | 获取公众号接口access_token方法 |
注意:需要传入
appId
或getTokenFunction
其中一个。
MassFactory
实例对象。
生成 Mass
实例
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
openIds | Array | 是 | 群发目标的openId数组 |
concurrent | Number | 是 | 并发数 |
templateId | String | 是 | 模板Id |
url | String | 是 | 模板点击后跳转的URL |
data | Object | 是 | 模板插值的填充数据 |
Mass
实例对象。
开始群发任务。重复调用无效。
停止群发任务。重复调用无效,先恢复后才能再次暂停。
恢复群发任务。重复调用无效,先暂停后才能再次恢复。
当群发的消息中有一条成功时触发。参数为result
对象。
名称 | 类型 | 描述 |
---|---|---|
openId | String | 用户openId |
status | String | 发送状态 |
当群发的消息中有一条失败时触发。参数为result
对象。
名称 | 类型 | 描述 |
---|---|---|
openId | String | 用户openId |
status | String | 发送状态 |
response | Object | 错误对象 |
当全部群发完成时触发。参数为result
对象。
名称 | 类型 | 描述 |
---|---|---|
ok | Number | 成功数量 |
fail | Number | 失败数量 |
complete | Number | 完成的数量 |
total | Number | 总数量。一般应该等于complete 。 |
startTime | String | 开始发送的时间。 |
endTime | String | 完成时的时间。 |
duration | Number | 发送的持续时间。单位:ms。当调用stop() 方法暂停发送时,只在重新调用resume() 方法恢复发送时才会重新计算duration ,因此中间的等待时间不计入此属性。 |
进度事件。参数为result
对象。
名称 | 类型 | 描述 |
---|---|---|
ok | Number | 成功数量 |
fail | Number | 失败数量 |
complete | Number | 完成的数量 |
total | Number | 总数量。一般应该等于complete 。 |
percent | String | 进度百分比。 |