溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

nodejs微信公眾號開發之如何實現自動回復各種消息

發布時間:2021-08-12 10:19:11 來源:億速云 閱讀:201 作者:小新 欄目:web開發

這篇文章主要介紹了nodejs微信公眾號開發之如何實現自動回復各種消息,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

1. 被動回復用戶消息

當用戶發送消息給公眾號時(或某些特定的用戶操作引發的事件推送時),會產生一個POST請求,開發者可以在響應包(Get)中返回特定XML結構,來對該消息進行響應(現支持回復文本、圖片、圖文、語音、視頻、音樂)。發送被動響應消息是對微信服務器發過來消息的一次回復。

開發過程中如果遇到該公眾號暫時無法提供服務,請稍后再試的情況,一般是由兩個原因造成的:

  1. 開發者在5秒內未回復任何內容

  2. 開發者回復的數據異常,非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;
}

測試效果如圖:

nodejs微信公眾號開發之如何實現自動回復各種消息

3.說明:

發現輸入數字2并沒有回復相應的圖片,是不是很奇怪?我們查看一下文檔:

nodejs微信公眾號開發之如何實現自動回復各種消息

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

感謝你能夠認真閱讀完這篇文章,希望小編分享的“nodejs微信公眾號開發之如何實現自動回復各種消息”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女