node微信公众号开发---自动回复
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node微信公众号开发---自动回复相关的知识,希望对你有一定的参考价值。
微信开发的特点:
1.post请求 (一定要注意,这里和配置域名的时候不一样,配置域名是get请求)
2.数据包是xml格式的
3.你给微信返回的数据也是xml格式的
var parseString = require(‘xml2js‘).parseString;//引入xml2js包 /** * 处理微信post消息请求 */ router.post(‘/‘, function (req, res) { try{ var buffer = []; //监听 data 事件 用于接收数据 req.on(‘data‘, function (data) { buffer.push(data); }); //监听 end 事件 用于处理接收完成的数据 req.on(‘end‘, function () { //输出接收完成的数据 parseString(Buffer.concat(buffer).toString(‘utf-8‘),{explicitArray : false},function(err,result){ if(err){ //打印错误信息 console.log(err); }else{ //打印解析结果 console.log(result); result = result.xml; var toUser = result.ToUserName; //接收方微信 var fromUser = result.FromUserName;//发送仿微信 if(result.Event===‘subscribe‘){ //回复消息 var xml=this.returntext(fromUser,toUser,‘欢迎关注公众号,hahhh‘); console.log(xml) res.send(xml) }else{ var xml=this.returntext(fromUser,toUser,‘您好‘); console.log(xml) res.send(xml) } } }) }); }catch(err){ console.log(err) } }) //回复文本消息 function returntext(toUser, fromUser, content){ var xmlContent = "<xml><ToUserName><![CDATA["+ toUser +"]]></ToUserName>"; xmlContent += "<FromUserName><![CDATA["+ fromUser +"]]></FromUserName>"; xmlContent += "<CreateTime>"+ new Date().getTime() +"</CreateTime>"; xmlContent += "<MsgType><![CDATA[text]]></MsgType>"; xmlContent += "<Content><![CDATA["+ content +"]]></Content></xml>"; return xmlContent; }
以上是关于node微信公众号开发---自动回复的主要内容,如果未能解决你的问题,请参考以下文章
微信公众号开发之文本消息自动回复,以及系统关注自动回复,php代码
想在微信公众平台开发者模式的自动回复里加入emoji表情,需要啥PHP方法来处理