Node.js+Koa開發微信公衆號我的筆記(一)準備工做

本人也是在學習過程當中,因此文章只做爲學習筆記,若是能幫到你,那就更好啦~固然也不免會有錯誤,請不吝指出~html

1、準備工做

一、本人學習教程:慕課網Scott老師的《Node.js七天搞定微信公衆號》 ,可是有點小貴,經濟條件容許的話能夠支持一下。git

二、文檔:微信開發官方文檔,必備。https://mp.weixin.qq.com/wikigithub

三、微信開發測試號:測試公衆號,必備。https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/loginchrome

四、雲服務器:本人使用的是阿里雲ECS,我是不建議使用ngrok這類的工具,太麻煩了,有個雲服務器後一勞永逸!想弄的話能夠看一下我之前的一篇文章http://www.cnblogs.com/zczhangcui/p/6789094.htmlnpm

五、域名:有了服務器和外網IP後,沒有域名好像也能夠進行,我是買了個域名並進行了備案,備案耗時較長,我是在雲網買的,建議買以前看看域名在國內能不能備案。服務器

六、開發工具:mac + chrome + sublime + 手機,固然都不是必須的。sublime使用sftp插件向雲服務同步代碼,很方便。微信

2、框架選擇

這裏使用了Node.js的Koa框架的1.2版本,Node版本爲7.6.微信開發

至於爲何Koa2都有了還要用Koa1.2,固然是跟着教程來的,爲了減少入門成本,因此選擇了與教程一致的版本。_(:з」∠)_app

3、目錄結構

這裏目錄的生成使用了koa-generator快速生成。https://github.com/17koa/koa-generator框架

4、接入微信服務器

首先進入測試號頁面,以下圖

其中接口配置信息須要填寫你的服務器URL,Token是本身填寫的驗證信息,內容隨意。在提交以前,須要在服務器端進行配置。說白了,這個過程就是向微信證實「你(填寫的服務器地址)是你」。

5、配置服務器,完成接入

在此以前,必須閱讀微信開發文檔,瞭解接入過程

 

接下來直接上代碼:

首先使用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進行驗證,這時,無心外的話,會出現驗證成功,至此該服務器能夠做爲微信開發服務器了。

相關文章
相關標籤/搜索