上一篇文章:nodejs微信公衆號開發——7.用戶管理,主要介紹了用戶管理的一些經常使用接口,包括用戶分組、設置備註名、獲取用戶基本信息等。本節微信高級羣發接口(項目github地:https://github.com/Panfen/wem... )html
在公衆平臺網站上,爲訂閱號提供了天天一條的羣發權限,爲服務號提供每個月(天然月)4條的羣發權限。而對於某些具有開發能力的公衆號運營者,能夠經過高級羣發接口,實現更靈活的羣發能力。須要注意的點:node
\<a>
標籤加入外鏈;和以前的步驟實際上是同樣的,先在api中定義請求的url地址:git
var api = { ... mass:{ sendall:prefix+'message/mass/sendall?', //access_token=ACCESS_TOKEN 羣發消息 } }
在實現具體函數的時候,須要注意請求的body
內容由於發送消息的類型不一樣而呈現差別化,須要特別留意,查看官方文檔,根據分組進行羣發【訂閱號與服務號認證後都可用】github
Wechat.prototype.massSendMsg = function(type,message,groupid){ var that = this; var msg = { filter:{}, msgtype:type } if(!groupid){ msg.filter.is_to_all = true }else{ msg.filter.is_to_all = false; msg.filter.group_id = groupid; } msg[type] = message; return new Promise(function(resolve,reject){ that.fetchAccessToken().then(function(data){ var url = api.mass.sendall + 'access_token=' + data.access_token; request({method:'POST',url:url,body:msg,json:true}).then(function(response){ var _data = response.body; if(_data.errcode === 0){ resolve(_data); }else{ throw new Error('send mass message failed: ' + _data.errmsg); } }).catch(function(err){ reject(err); }); }); }); }
注意對msg
的處理。json
else if(content === '7'){ var text = { content:'這是羣發消息測試唔~' }; var msg = yield wechatApi.massSendMsg('text',text,114); console.log('msg:'+ JSON.stringify(msg)); }