这篇文章主要介绍了nodejs微信公众号开发之如何实现自动回复各种消息,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
创新互联建站是一家集网站建设,桓仁企业网站建设,桓仁品牌网站建设,网站定制,桓仁网站建设报价,网络营销,网络优化,桓仁网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。1. 被动回复用户消息
当用户发送消息给公众号时(或某些特定的用户操作引发的事件推送时),会产生一个POST请求,开发者可以在响应包(Get)中返回特定XML结构,来对该消息进行响应(现支持回复文本、图片、图文、语音、视频、音乐)。发送被动响应消息是对微信服务器发过来消息的一次回复。
开发过程中如果遇到该公众号暂时无法提供服务,请稍后再试
的情况,一般是由两个原因造成的:
开发者在5秒内未回复任何内容
开发者回复的数据异常,非xml格式,比如JSON数据
具体的消息规则可参看微信平台开发者文档:被动回复用户消息
2. 回复消息的实现
我们之前的关注自动回复是在weixin.js
里面实现的,其他的消息回复也写在这个文件里面:
if(message.MsgType === 'event'){ if(message.Event === 'subscribe'){ if(message.EventKey) { console.log('扫描二维码关注:'+ message.EventKey +' '+ message.ticket); } this.body = '终于等到你,还好我没放弃'; }else if(message.Event === 'unsubscribe'){ this.body = ''; console.log(message.FromUserName + ' 悄悄地走了...'); }else if(message.Event === 'LOCATION'){ this.body = '您上报的地理位置是:'+ message.Latitude + ',' + message.Longitude; }else if(message.Event === 'CLICK'){ this.body = '您点击了菜单:'+ message.EventKey; }else if(message.Event === 'SCAN'){ this.body = '关注后扫描二维码:'+ message.Ticket; } } else if(message.MsgType === 'text'){ var content = message.Content; var reply = '你说的话:“' + content + '”,我听不懂呀'; if(content === '1'){ reply = '金刚:骷髅岛'; } else if(content === '2'){ reply = { type:'image', mediaId:'http://tu.23juqing.com/d/file/html/gndy/dyzz/2017-04-09/da9c7a64ab7df196d08b4b327ef248f2.jpg' } } else if(content === '3'){ reply = [{ title:'金刚.骷髅岛', description:'南太平洋上的神秘岛屿——骷髅岛。史上大金刚与邪恶骷髅蜥蜴的较量。', picUrl:'http://tu.23juqing.com/d/file/html/gndy/dyzz/2017-04-09/da9c7a64ab7df196d08b4b327ef248f2.jpg', url:'http://www.piaohua.com/html/dongzuo/2017/0409/31921.html' //可下载观看喔 }]; } // ... 其他回复类型 this.body = reply; }
测试效果如图:
3.说明:
发现输入数字2并没有回复相应的图片,是不是很奇怪?我们查看一下文档:
文档中说明了MediaId属性是通过素材管理接口上传多媒体文件,得到的id,而不是我们直接给的网上图片的url链接。在图文消息中,是可以直接使用url链接的。所以我们下一步的工作就是实现素材管理的接口。
感谢你能够认真阅读完这篇文章,希望小编分享的“nodejs微信公众号开发之如何实现自动回复各种消息”这篇文章对大家有帮助,同时也希望大家多多支持创新互联建站,关注创新互联网站建设公司行业资讯频道,更多相关知识等着你来学习!
另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。