request
網絡請求我們使用request 它是對原生的HTTP request的封裝
ejs
微信的數據包裝方式是XML ,所有我們藉助ejs 這個模板庫,把數據作爲變量替換XML 字符中
lodash 和Heredoc
lodash 是一些常用的方法集,做數組拆分 ,類型判斷等等
Heredoc 是黑科技 把函數體裏面的多行的注降低拼接字符串釋作爲字符串提取出來主要用來降低拼接字符串的成本
raw-body 用來獲取一個http請求返回的可讀流的類容實體
sha1
哈希算法庫xml2js
微信服務器返回的數據既然是xml格式 我們沒法直接在js 函數中使用,所有會藉助XML2js這個模塊把XML數據解析爲js 對象,方便我們使用
服務器及 ngrok 環境配置
ngrok
傳統我們需要一個域名 用來微信服務器和你的域名服務器來交互
沒有域名我們就要用ngrok 隱射到外網
②備選方案
www.tunnel.mobi
- 先用蘋果自帶的Python啓動一個端口
③ npm install -g localtunnel
端口隱射
登錄微信開發者平臺
'use strict';
var Koa = require('koa');
var sha1 = require('sha1');
var config = {
wechat: {
appID:'3f7',
appSecret:'7fca3c2d051c8fc84467',
token:'etolearn'
}
};
var app = new Koa();
app.use(function *(next) {
console.log(this.query)
});
app.listen(1234);
console.log('地址: 1234');
npm install koa sha1
安裝框架和加密模塊
node –harmony app.js
在瀏覽器中得到的結果如下
接下來實現驗證邏輯