91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

nodejs中怎么實現微信公眾號開發

發布時間:2021-07-21 10:24:17 來源:億速云 閱讀:136 作者:Leah 欄目:web開發

今天就跟大家聊聊有關nodejs中怎么實現微信公眾號開發,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

1.公眾平臺測試帳號的使用

登錄微信公眾平臺,由于很多開發人員并沒有認證的的微信公眾號,所以比較折中的方式是使用公眾平臺測試帳號來測試功能,其優勢是能夠測試微信公眾號的絕大部分功能,不受認證門檻的限制。

nodejs中怎么實現微信公眾號開發

進入測試賬號管理界面:

我們需要配置接口的信息,URLToken是微信公眾平臺和本地開發服務建立連接的橋梁。

nodejs中怎么實現微信公眾號開發

微信配置好后,掃面下方的測試號二維碼,即可以在手機上測試開發的功能。

nodejs中怎么實現微信公眾號開發

2.驗證公眾號

nodejs中怎么實現微信公眾號開發

一圖勝千言。接入公眾號時,微信公眾平臺需要驗證開發者的身份,向開發者填寫的URL發送一個GET請求,請求中包含4個參數:signatureechostrtimestampnonce,收到該請求,我們需要做的事情:

  1. tokentimestampnonce三個參數進行字典排序;

  2. 將三個字符串拼接成一個字符串進行sha1加密;

  3. 將加密后的字符串與signature進行比較,如果相同,表示這個請求來自微信,我們直接原樣返回echostr的內容,接入驗證成功。

3.搭建開發服務器

搭建開發服務器的方式有很多,如購買云服務器、使用花生殼、ngrok、localtunnel等。這里為了簡單起見采用localtunnel。先全局方式安裝localtunnel,

npm install -g lt

啟動lt

lt --port 8080  //對外暴露8080端口,可端口號可自己隨便設定

4.編寫代碼

好了,現在開始編寫app.js的代碼:

'use strict'

var Koa = require('koa');
var sha1 = require('sha1');

var config = {
  wechat:{
    appID:'...', //填寫你自己的appID
    appSecret:'...', //填寫你自己的appSecret
    token:'...' //填寫你自己的token
  }
};

var app = new Koa();

app.use(function *(next){
  var token = config.wechat.token;
  var signature = this.query.signature;
  var nonce = this.query.nonce;
  var timestamp = this.query.timestamp;
  var echostr = this.query.echostr;
  var str = [token,timestamp,nonce].sort().join(''); //按字典排序,拼接字符串
  var sha = sha1(str); //加密
  this.body = (sha === signature)? echostr + '' : 'failed'; //比較并返回結果
});
app.listen(8080);

5.配置測試公眾號信息

代碼編寫完畢,現在開始正式配置啦。在終端中輸入lt --port 8080啟動localtunnel,得到對外可訪問的URL:

nodejs中怎么實現微信公眾號開發

這個URL填寫到測試賬號管理界面中的URLToken字段可隨意填寫,方便起見,就用wemovie吧!

填寫完畢,點擊提交,發現驗證成功,恭喜!

nodejs中怎么實現微信公眾號開發

注:

  1. 由于localtunnel不是很穩定,所以可能一開始點擊提交提示的是黃條的配置失敗,需要多點一兩次按鈕;

  2. 每次重啟程序,都需要重啟localtunnel獲取新的URL,然后重新配置。(這就是選擇簡單付出的代價T_T)

看完上述內容,你們對nodejs中怎么實現微信公眾號開發有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

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

AI

嘉兴市| 马尔康县| 芜湖县| 大方县| 子长县| 陆川县| 小金县| 盐城市| 科技| 保山市| 萍乡市| 水富县| 太仆寺旗| 衡东县| 两当县| 鄂托克旗| 株洲县| 惠州市| 都昌县| 河间市| 深州市| 清徐县| 中阳县| 遂昌县| 文登市| 定陶县| 繁昌县| 乌兰察布市| 漳浦县| 屯昌县| 崇阳县| 昆山市| 德钦县| 霞浦县| 化隆| 根河市| 商南县| 西平县| 酒泉市| 祁门县| 东兴市|