node 開(kāi)發(fā)微信公眾號(hào)(三.最簡(jiǎn)單的自動(dòng)回復(fù))

推薦微信開(kāi)發(fā)入門(mén)教程: https://cnodejs.org/topic/59294bff9e32cc84569a746a

先說(shuō)一些微信開(kāi)發(fā)的特點(diǎn):
1.post請(qǐng)求
2.數(shù)據(jù)包是xml格式的
3.你給微信返回的數(shù)據(jù)也是xml格式的

coding吧

var parseString = require('xml2js').parseString;//引入xml2js包
/**
 * 處理微信post消息請(qǐng)求
 */
router.post('/', function (req, res) {
    try{
        var buffer = [];
        //監(jiān)聽(tīng) data 事件 用于接收數(shù)據(jù)
        req.on('data', function (data) {
            buffer.push(data);
        });
        //監(jiān)聽(tīng) end 事件 用于處理接收完成的數(shù)據(jù)
        req.on('end', function () {
            //輸出接收完成的數(shù)據(jù)
            parseString(Buffer.concat(buffer).toString('utf-8'),{explicitArray : false},function(err,result){
                if(err){
                    //打印錯(cuò)誤信息
                    console.log(err);
                }else{
                    //打印解析結(jié)果
                    console.log(result);
                    result = result.xml;
                    var toUser = result.ToUserName; //接收方微信
                    var fromUser = result.FromUserName;//發(fā)送仿微信
                    if(result.Event==='subscribe'){
                        //回復(fù)消息
                        var xml=this.returntext(fromUser,toUser,'歡迎關(guān)注公眾號(hào),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)
    }
})
//回復(fù)文本消息
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;
}

微信開(kāi)發(fā)其實(shí)就是后臺(tái)開(kāi)發(fā),只是多了一些微信制定的條條框框,文檔都有說(shuō)明的。感覺(jué)微信開(kāi)發(fā)跟寫(xiě)前臺(tái)js一樣脂凶,事件驅(qū)動(dòng)诵盼。

多看文檔杯活,微信開(kāi)發(fā)多看文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末矛渴,一起剝皮案震驚了整個(gè)濱河市臣嚣,隨后出現(xiàn)的幾起案子娇昙,更是在濱河造成了極大的恐慌尺迂,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冒掌,死亡現(xiàn)場(chǎng)離奇詭異噪裕,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)股毫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)膳音,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)疯兼,“玉大人矛市,你說(shuō)我怎么就攤上這事〖⑴” “怎么了氧急?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵颗胡,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我吩坝,道長(zhǎng)毒姨,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任钉寝,我火速辦了婚禮弧呐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘嵌纲。我一直安慰自己俘枫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布逮走。 她就那樣靜靜地躺著鸠蚪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪师溅。 梳的紋絲不亂的頭發(fā)上茅信,一...
    開(kāi)封第一講書(shū)人閱讀 52,158評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音墓臭,去河邊找鬼蘸鲸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛窿锉,可吹牛的內(nèi)容都是我干的酌摇。 我是一名探鬼主播膝舅,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼妙痹!你這毒婦竟也來(lái)了铸史?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤怯伊,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后判沟,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體耿芹,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年挪哄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吧秕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡迹炼,死狀恐怖砸彬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情斯入,我是刑警寧澤砂碉,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站刻两,受9級(jí)特大地震影響增蹭,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜磅摹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一滋迈、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧户誓,春花似錦饼灿、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至证舟,卻和暖如春硕旗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背女责。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工漆枚, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人抵知。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓墙基,卻偏偏與公主長(zhǎng)得像软族,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子残制,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容