PaaS,免费,部署方便
gem install afaf loginaf update APP_NAME
af logs APP_NAME [--all]
var isLegel = function (signature, timestamp, nonce) {var TOKEN = 'tnwechattest'; var arr = [TOKEN, timestamp, nonce]; // 对三个参数进行字典序排序 arr.sort(); // sha1 加密 var sha1 = crypto.createHash('sha1'); var msg = arr[0] + arr[1] + arr[2]; sha1.update(msg); msg = sha1.digest('hex'); // 验证 if(msg == signature) { console.log('验证成功'); return true; } else { console.log('验证失败'); return false; }};
http.createServer(function (req, res) {// 获取GET请求的参数 var url_params = url.parse(req.url, true); var query = url_params.query; res.writeHead(200, {'Content-Type': 'text/plain'}); if(isLegel(query.signature,query.timestamp, query.nonce)) { // 返回echostr res.end(query.echostr); } else { // res.end('Hello world\n');} }).listen(process.env.VCAP_APP_PORT || 3000);
app.use('/', wechat(TOKEN, function(message, req, res) {// ...}).event(function(message, req, res) {// 关注事件if(message.Event == 'subscribe') {res.reply('感谢关注途牛旅游网!么么哒~');}}));
app.use('/', wechat(TOKEN, wechat.text(function(message, req, res) {//var input = (message.Content || '').trim();if(input === '你好') {res.reply('你也好!');} else {res.reply('听不懂!');}}));



