今天就跟大家聊聊有關(guān)nodejs中怎么實(shí)現(xiàn)微信公眾號(hào)開發(fā),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)公司專注于任縣企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站,商城開發(fā)。任縣網(wǎng)站建設(shè)公司,為任縣等地區(qū)提供建站服務(wù)。全流程定制設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)1.公眾平臺(tái)測(cè)試帳號(hào)的使用
登錄微信公眾平臺(tái),由于很多開發(fā)人員并沒有認(rèn)證的的微信公眾號(hào),所以比較折中的方式是使用公眾平臺(tái)測(cè)試帳號(hào)
來測(cè)試功能,其優(yōu)勢(shì)是能夠測(cè)試微信公眾號(hào)的絕大部分功能,不受認(rèn)證門檻的限制。
進(jìn)入測(cè)試賬號(hào)管理界面:
我們需要配置接口的信息,URL
和Token
是微信公眾平臺(tái)和本地開發(fā)服務(wù)建立連接的橋梁。
微信配置好后,掃面下方的測(cè)試號(hào)二維碼,即可以在手機(jī)上測(cè)試開發(fā)的功能。
2.驗(yàn)證公眾號(hào)
一圖勝千言。接入公眾號(hào)時(shí),微信公眾平臺(tái)需要驗(yàn)證開發(fā)者的身份,向開發(fā)者填寫的URL發(fā)送一個(gè)GET請(qǐng)求,請(qǐng)求中包含4個(gè)參數(shù):signature
、echostr
、timestamp
和nonce
,收到該請(qǐng)求,我們需要做的事情:
將token
、timestamp
和nonce
三個(gè)參數(shù)進(jìn)行字典排序;
將三個(gè)字符串拼接成一個(gè)字符串進(jìn)行sha1加密;
將加密后的字符串與signature
進(jìn)行比較,如果相同,表示這個(gè)請(qǐng)求來自微信,我們直接原樣返回echostr的內(nèi)容,接入驗(yàn)證成功。
3.搭建開發(fā)服務(wù)器
搭建開發(fā)服務(wù)器的方式有很多,如購買云服務(wù)器、使用花生殼、ngrok、localtunnel等。這里為了簡(jiǎn)單起見采用localtunnel。先全局方式安裝localtunnel
,
npm install -g lt
啟動(dòng)lt
lt --port 8080 //對(duì)外暴露8080端口,可端口號(hào)可自己隨便設(shè)定
4.編寫代碼
好了,現(xiàn)在開始編寫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'; //比較并返回結(jié)果 }); app.listen(8080);
5.配置測(cè)試公眾號(hào)信息
代碼編寫完畢,現(xiàn)在開始正式配置啦。在終端中輸入lt --port 8080
啟動(dòng)localtunnel,得到對(duì)外可訪問的URL
:
這個(gè)URL
填寫到測(cè)試賬號(hào)管理界面
中的URL
,Token
字段可隨意填寫,方便起見,就用wemovie
吧!
填寫完畢,點(diǎn)擊提交,發(fā)現(xiàn)驗(yàn)證成功,恭喜!
注:
由于localtunnel不是很穩(wěn)定,所以可能一開始點(diǎn)擊提交
提示的是黃條的配置失敗
,需要多點(diǎn)一兩次按鈕;
每次重啟程序,都需要重啟localtunnel獲取新的URL
,然后重新配置。(這就是選擇簡(jiǎn)單付出的代價(jià)T_T)
看完上述內(nèi)容,你們對(duì)nodejs中怎么實(shí)現(xiàn)微信公眾號(hào)開發(fā)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。