本人也是在學習過程中,所以文章只作為學習筆記,如果能幫到你,那就更好啦~當然也難免會有錯誤,請不吝於指出~
1、本人學習教學:慕課網Scott老師的《Node.js七天搞定微信公眾號》 ,但是有點小貴,經濟條件允許的話可以支持一下。
2、文件:微信開發官方文檔,必備。
3、微信開發測試號:測試公眾號,必備。
4、雲端伺服器:本人使用的是阿里雲ECS,我是不建議使用ngrok這類的工具,太麻煩了,有個雲端伺服器後一勞永逸!想弄的話可以看一下我以前的一篇文章
5、網域:有了伺服器和外網IP後,沒有網域好像也可以進行,我是買了個網域並進行了備案,備案耗時較長,是在雲網買的,建議買之前看看網域在國內能不能備案。
6、開發工具:mac + chrome + sublime + 手機,當然都不是必須的。 sublime使用sftp插件向雲端服務同步程式碼,很方便。
這裡使用了Node.js的Koa框架的1.2版本,Node版本為7.6.
至於為什麼Koa2都有了還要用Koa1 .2,當然是跟著教學來的,為了減少入門成本,所以選擇了與教學一致的版本。 _(:з”∠)_
#這裡目錄的生成使用了koa-generator快速產生。
先進入測試號頁面,如下圖
#其中介面設定資訊需要填入你的伺服器URL,Token是自己填寫的驗證訊息,內容隨意。在提交之前,需要在伺服器端進行設定。說穿了,這個過程就是向微信證明「你(填寫的伺服器位址)是你」。
在此之前,必須閱讀微信開發文檔,了解存取過程!
接下來直接上程式碼:
先使用koa-generator或產生專案目錄,之後再使用npm install 安裝相依。
在routes下的index中進行如下修改:
var router = require('koa-router')();var index_middleware = require('../wechat/index_middleware');var config = require('../wechat/config'); router.get('/', index_middleware.get(config.wechat)); module.exports = router;
#接下來實作index_middleware和config。
wechat/config.js:
module.exports = { wechat: { appID: 'xxxxxx', appSecret: 'xxxxxxxxxxxxxxx', token: 'xxxxxxx'} };
這裡面的資訊依照你自己的測試號碼填入。
wechat/index_middleware.js:
var sha1 = require('sha1'); exports.get = function(opts) {return function *(next) {var token = opts.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);if (sha === signature) {this.body = echostr + ''; } }; };
#完成存取邏輯後,需要npm install sha1 --save 安裝sha1加密模組。
建議安裝npm install supervisor -g,之後supervisor bin/www啟動伺服器並監聽變更自動重新啟動伺服器,這樣可以不用每次改動後手動重新啟動伺服器。
完成以上步驟後,回到步驟四,對填寫的URL進行驗證,這時,無意外的話,會出現驗證成功,至此該伺服器可以作為微信開發伺服器了。
以上是Node.js+Koa開發微信公眾號的實例教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!