欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解nodejs微信公眾號(hào)開(kāi)發(fā)——4.自動(dòng)回復(fù)各種消息

 更新時(shí)間:2017年04月11日 16:53:44   作者:芒果屋里的貓  
這篇文章主要介紹了詳解nodejs微信公眾號(hào)開(kāi)發(fā)——4.自動(dòng)回復(fù)各種消息,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

上一篇文章:nodejs微信公眾號(hào)開(kāi)發(fā)——3.封裝消息響應(yīng)模塊,實(shí)現(xiàn)了對(duì)消息接口的模塊化處理,方便后期的使用,本篇文章將介紹微信公眾號(hào)回復(fù)各種消息的功能實(shí)現(xiàn),包括文本、圖片、語(yǔ)音、視頻、音樂(lè)、圖文等。

:感覺(jué)最近localtunnel很不穩(wěn)定,測(cè)試起來(lái)比較麻煩,有條件的自己搞個(gè)云服務(wù)器吧,我比較偷懶,幾繼續(xù)使用localtunnel了。

1. 被動(dòng)回復(fù)用戶消息

當(dāng)用戶發(fā)送消息給公眾號(hào)時(shí)(或某些特定的用戶操作引發(fā)的事件推送時(shí)),會(huì)產(chǎn)生一個(gè)POST請(qǐng)求,開(kāi)發(fā)者可以在響應(yīng)包(Get)中返回特定XML結(jié)構(gòu),來(lái)對(duì)該消息進(jìn)行響應(yīng)(現(xiàn)支持回復(fù)文本、圖片、圖文、語(yǔ)音、視頻、音樂(lè))。發(fā)送被動(dòng)響應(yīng)消息是對(duì)微信服務(wù)器發(fā)過(guò)來(lái)消息的一次回復(fù)。

開(kāi)發(fā)過(guò)程中如果遇到該公眾號(hào)暫時(shí)無(wú)法提供服務(wù),請(qǐng)稍后再試的情況,一般是由兩個(gè)原因造成的:

  1. 開(kāi)發(fā)者在5秒內(nèi)未回復(fù)任何內(nèi)容
  2. 開(kāi)發(fā)者回復(fù)的數(shù)據(jù)異常,非xml格式,比如JSON數(shù)據(jù)

具體的消息規(guī)則可參看微信平臺(tái)開(kāi)發(fā)者文檔:被動(dòng)回復(fù)用戶消息

2. 回復(fù)消息的實(shí)現(xiàn)

我們之前的關(guān)注自動(dòng)回復(fù)是在weixin.js里面實(shí)現(xiàn)的,其他的消息回復(fù)也寫(xiě)在這個(gè)文件里面:

if(message.MsgType === 'event'){
  if(message.Event === 'subscribe'){
    if(message.EventKey) {
      console.log('掃描二維碼關(guān)注:'+ message.EventKey +' '+ message.ticket);
    }
    this.body = '終于等到你,還好我沒(méi)放棄';
  }else if(message.Event === 'unsubscribe'){
    this.body = '';
    console.log(message.FromUserName + ' 悄悄地走了...');
  }else if(message.Event === 'LOCATION'){
    this.body = '您上報(bào)的地理位置是:'+ message.Latitude + ',' + message.Longitude;
  }else if(message.Event === 'CLICK'){
    this.body = '您點(diǎn)擊了菜單:'+ message.EventKey;
  }else if(message.Event === 'SCAN'){
    this.body = '關(guān)注后掃描二維碼:'+ message.Ticket;
  }
}
else if(message.MsgType === 'text'){
  var content = message.Content;
  var reply = '你說(shuō)的話:“' + content + '”,我聽(tīng)不懂呀';
  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' //可下載觀看喔
    }];
  }

  // ... 其他回復(fù)類型

  this.body = reply;
}

測(cè)試效果如圖:

3.說(shuō)明:

發(fā)現(xiàn)輸入數(shù)字2并沒(méi)有回復(fù)相應(yīng)的圖片,是不是很奇怪?我們查看一下文檔:

文檔中說(shuō)明了MediaId屬性是通過(guò)素材管理接口上傳多媒體文件,得到的id,而不是我們直接給的網(wǎng)上圖片的url鏈接。在圖文消息中,是可以直接使用url鏈接的。所以我們下一步的工作就是實(shí)現(xiàn)素材管理的接口。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Node.js 去掉種子(torrent)文件里的邪惡信息

    Node.js 去掉種子(torrent)文件里的邪惡信息

    torrent文件,又被稱為種子,原來(lái)只是用于記錄 bt下載當(dāng)中所需信息的一種文件。但是隨著互聯(lián)網(wǎng)的極大發(fā)展,一些人士將一些邪惡的信息注入到了小小的 torrent文件當(dāng)中,種子從此變成了邪惡的代名詞。
    2015-03-03
  • NodeJS?基于?Dapr?構(gòu)建云原生微服務(wù)應(yīng)用快速入門教程

    NodeJS?基于?Dapr?構(gòu)建云原生微服務(wù)應(yīng)用快速入門教程

    Dapr?是一個(gè)可移植的、事件驅(qū)動(dòng)的運(yùn)行時(shí),它使任何開(kāi)發(fā)人員能夠輕松構(gòu)建出彈性的、無(wú)狀態(tài)和有狀態(tài)的應(yīng)用程序,并可運(yùn)行在云平臺(tái)或邊緣計(jì)算中,它同時(shí)也支持多種編程語(yǔ)言和開(kāi)發(fā)框架,本文重點(diǎn)介紹NodeJS云原生微服務(wù)應(yīng)用,感興趣的朋友一起看看吧
    2022-07-07
  • 基于node.js實(shí)現(xiàn)爬蟲(chóng)的講解

    基于node.js實(shí)現(xiàn)爬蟲(chóng)的講解

    今天小編就為大家分享一篇關(guān)于基于node.js實(shí)現(xiàn)爬蟲(chóng)的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • 30分鐘用Node.js構(gòu)建一個(gè)API服務(wù)器的步驟詳解

    30分鐘用Node.js構(gòu)建一個(gè)API服務(wù)器的步驟詳解

    這篇文章主要介紹了30分鐘用Node.js構(gòu)建一個(gè)API服務(wù)器的步驟詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-05-05
  • 從零開(kāi)始學(xué)習(xí)Node.js

    從零開(kāi)始學(xué)習(xí)Node.js

    這篇文章主要介紹了從零開(kāi)始學(xué)習(xí)Node.js結(jié)合具體實(shí)例形式分析了使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-09-09
  • node使用querystring內(nèi)置模塊解決分頁(yè)返回?cái)?shù)據(jù)太多導(dǎo)致json.parse()解析報(bào)錯(cuò)問(wèn)題

    node使用querystring內(nèi)置模塊解決分頁(yè)返回?cái)?shù)據(jù)太多導(dǎo)致json.parse()解析報(bào)錯(cuò)問(wèn)題

    這篇文章主要介紹了node使用querystring內(nèi)置模塊解決分頁(yè)返回?cái)?shù)據(jù)太多導(dǎo)致json.parse()解析報(bào)錯(cuò)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Nest.js參數(shù)校驗(yàn)和自定義返回?cái)?shù)據(jù)格式詳解

    Nest.js參數(shù)校驗(yàn)和自定義返回?cái)?shù)據(jù)格式詳解

    這篇文章主要給大家介紹了關(guān)于Nest.js參數(shù)校驗(yàn)和自定義返回?cái)?shù)據(jù)格式的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 利用python分析access日志的方法

    利用python分析access日志的方法

    最近在自學(xué)python,光看是不行的,還是要多實(shí)操的。這就是一個(gè)寫(xiě)給自己的小小工具。主要功能是,便利日志文件夾下的文件,根據(jù)設(shè)定的關(guān)鍵字查找是否有web攻擊行為。有需要的朋友們下面來(lái)一起看看吧。
    2016-10-10
  • nodejs腳本centos開(kāi)機(jī)啟動(dòng)實(shí)操方法

    nodejs腳本centos開(kāi)機(jī)啟動(dòng)實(shí)操方法

    在本篇文章里小編給大家整理的是關(guān)于nodejs腳本centos開(kāi)機(jī)啟動(dòng)實(shí)操方法,有興趣的朋友們參考下。
    2020-03-03
  • 在koa中簡(jiǎn)單使用Websocket連接的方法示例

    在koa中簡(jiǎn)單使用Websocket連接的方法示例

    本文主要介紹了在koa中簡(jiǎn)單使用Websocket連接的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02

最新評(píng)論