您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關nodejs中怎么實現微信公眾號開發,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
1.公眾平臺測試帳號的使用
登錄微信公眾平臺,由于很多開發人員并沒有認證的的微信公眾號,所以比較折中的方式是使用公眾平臺測試帳號
來測試功能,其優勢是能夠測試微信公眾號的絕大部分功能,不受認證門檻的限制。
進入測試賬號管理界面:
我們需要配置接口的信息,URL
和Token
是微信公眾平臺和本地開發服務建立連接的橋梁。
微信配置好后,掃面下方的測試號二維碼,即可以在手機上測試開發的功能。
2.驗證公眾號
一圖勝千言。接入公眾號時,微信公眾平臺需要驗證開發者的身份,向開發者填寫的URL發送一個GET請求,請求中包含4個參數:signature
、echostr
、timestamp
和nonce
,收到該請求,我們需要做的事情:
將token
、timestamp
和nonce
三個參數進行字典排序;
將三個字符串拼接成一個字符串進行sha1加密;
將加密后的字符串與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
:
這個URL
填寫到測試賬號管理界面
中的URL
,Token
字段可隨意填寫,方便起見,就用wemovie
吧!
填寫完畢,點擊提交,發現驗證成功,恭喜!
注:
由于localtunnel不是很穩定,所以可能一開始點擊提交
提示的是黃條的配置失敗
,需要多點一兩次按鈕;
每次重啟程序,都需要重啟localtunnel獲取新的URL
,然后重新配置。(這就是選擇簡單付出的代價T_T)
看完上述內容,你們對nodejs中怎么實現微信公眾號開發有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。