var express = require('express');
var router = express.Router();
var util = require('util')
var weixin = require('weixin-api');
var colors = require('colors')
var net = require('net');
var HOST = '127.0.0.1';
var PORT = 5656;
var fs=require('fs')
router.get('/', function(req, res, next) {
//console.log( util.inspect( res).red.underline )
if (weixin.checkSignature(req)) {
console.log( util.inspect( req.query).red.underline )
res.status(200).send(req.query.echostr);
//weixin.loop(req, res);
} else {
res.status(200).send('fail');
}
});
weixin.token = 'qwertyuiopasdfghjkl';
weixin.textMsg(function(msg) {
console.log("textMsg received".red);
console.log(JSON.stringify(msg));
var resMsg = {};
switch (msg.content) {
case "开机" :
var fd=fs.openSync('/tmp/pipeopen' , 'w')
fs.writeSync(fd , 'start')
fs.closeSync(fd)
//
resMsg = {
fromUserName : msg.toUserName,
toUserName : msg.fromUserName,
msgType : "text",
content : "机器开启成功",
funcFlag : 0
};
break;
case "关机" :
var fd=fs.openSync('/tmp/pipeopen' , 'w')
fs.writeSync(fd , 'close')
fs.closeSync(fd)
resMsg = {
fromUserName : msg.toUserName,
toUserName : msg.fromUserName,
msgType : "text",
content : "机器关机成功",
funcFlag : 0
};
break;
case "播放音乐" :
resMsg = {
fromUserName : msg.toUserName,
toUserName : msg.fromUserName,
msgType : "music",
title : "音乐标题",
description : "音乐描述",
musicUrl : "http://music.baidu.com/mv/60819306/?type=mv",
HQMusicUrl : "高质量音乐url",
funcFlag : 0
};
break;
case "图片" :
var articles = [];
articles[0] = {
title : "美女图片",
description : "美女图片",
picUrl : "http://huliankfb.com:81/resource/7.jpg",
url : "http://pic.yesky.com/75/52568575.shtml#baidu"
};
/* articles[0] = {
title : "PHP依赖管理工具Composer入门",
description : "PHP依赖管理工具Composer入门",
picUrl : "http://weizhifeng.net/images/tech/composer.png",
url : "http://weizhifeng.net/manage-php-dependency-with-composer.html"
};
articles[1] = {
title : "八月西湖",
description : "八月西湖",
picUrl : "http://weizhifeng.net/images/poem/bayuexihu.jpg",
url : "http://weizhifeng.net/bayuexihu.html"
};
articles[2] = {
title : "「翻译」Redis协议",
description : "「翻译」Redis协议",
picUrl : "http://weizhifeng.net/images/tech/redis.png",
url : "http://weizhifeng.net/redis-protocol.html"
};*/
// 返回图文消息
resMsg = {
fromUserName : msg.toUserName,
toUserName : msg.fromUserName,
msgType : "news",
articles : articles,
funcFlag : 0
}
break;
default:
resMsg = {
fromUserName : msg.toUserName,
toUserName : msg.fromUserName,
msgType : "text",
content : "抱歉,不能识别的指令",
funcFlag : 0
};
}
weixin.sendMsg(resMsg);
});
// 监听图片消息
weixin.imageMsg(function(msg) {
console.log("imageMsg received");
console.log(JSON.stringify(msg));
resMsg = {
fromUserName : msg.toUserName,
toUserName : msg.fromUserName,
msgType : "text",
content : msg.picUrl,
funcFlag : 0
};
weixin.sendMsg(resMsg);
//weixin.sendMsg(resMsg);
});
// 监听位置消息
weixin.locationMsg(function(msg) {
resMsg = {
fromUserName : msg.toUserName,
toUserName : msg.fromUserName,
msgType : "text",
content : msg.label,
funcFlag : 0
};
weixin.sendMsg(resMsg);
});
// 监听链接消息
weixin.urlMsg(function(msg) {
console.log("urlMsg received");
console.log(JSON.stringify(msg));
});
// 监听事件消息
weixin.eventMsg(function(msg) {
console.log("eventMsg received");
console.log(JSON.stringify(msg));
});
router.post('/', function(req, res) {
// loop
weixin.loop(req, res);
});
module.exports = router;
基于Node.js的微服务后台
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.