|
@@ -1,58 +1,30 @@
|
|
|
-var express = require('express');
|
|
|
-var request = require('request');
|
|
|
-var router = express.Router();
|
|
|
-// 创建 application/x-www-form-urlencoded 编码解析
|
|
|
-var bodyParser = require('body-parser');
|
|
|
-var urlencodedParser = bodyParser.urlencoded({ extended: false });
|
|
|
-var params = {
|
|
|
- key: '64a40e3c55e88cc8cd66a78d030bddce',
|
|
|
- method: 'get',
|
|
|
- page: 1,
|
|
|
- pagesize: 1,
|
|
|
- sort: '',
|
|
|
- time: '',
|
|
|
- type: ''
|
|
|
-};
|
|
|
-
|
|
|
+let express = require('express');
|
|
|
+let request = require('request');
|
|
|
+let router = express.Router();
|
|
|
+const key = '64a40e3c55e88cc8cd66a78d030bddce';
|
|
|
/**
|
|
|
* Get 请求
|
|
|
*/
|
|
|
router.get('/', function(req, res, next) {
|
|
|
- params.method = 'get';
|
|
|
- params.page = req.query.page || 1;
|
|
|
- params.pagesize = req.query.pagesize || 1;
|
|
|
- params.sort = req.query.sort || '';
|
|
|
- params.time = req.query.time || '';
|
|
|
- params.type = req.query.type;
|
|
|
getJOKE(req, res, next);
|
|
|
});
|
|
|
/**
|
|
|
* 随机获取
|
|
|
*/
|
|
|
router.get('/rand', function(req, res, next) {
|
|
|
- params.method = 'get';
|
|
|
- params.type = req.query.type || 'pic';
|
|
|
getJOKE(req, res, next, 'rand');
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
* Post 请求
|
|
|
*/
|
|
|
-router.post('/', urlencodedParser, function(req, res, next) {
|
|
|
- params.method = 'post';
|
|
|
- params.page = req.body.page || 1;
|
|
|
- params.pagesize = req.body.pagesize || 1;
|
|
|
- params.sort = req.body.sort || '';
|
|
|
- params.time = req.body.time || '';
|
|
|
- params.type = req.body.type;
|
|
|
+router.post('/', function(req, res, next) {
|
|
|
getJOKE(req, res, next);
|
|
|
});
|
|
|
/**
|
|
|
* 随机获取
|
|
|
*/
|
|
|
-router.post('/rand', urlencodedParser, function(req, res, next) {
|
|
|
- params.method = 'post';
|
|
|
- params.type = req.body.type || 'pic';
|
|
|
+router.post('/rand', function(req, res, next) {
|
|
|
getJOKE(req, res, next, 'rand');
|
|
|
});
|
|
|
|
|
@@ -60,52 +32,56 @@ router.post('/rand', urlencodedParser, function(req, res, next) {
|
|
|
* 统一的请求
|
|
|
*/
|
|
|
function getJOKE(req, res, next, op) {
|
|
|
- var url = '';
|
|
|
+ let page = req.query.page || req.body.page || 1;
|
|
|
+ let pagesize = req.query.pagesize || req.body.pagesize || 1;
|
|
|
+ let sort = req.query.sort || req.body.sort;
|
|
|
+ let time = req.query.time || req.body.time;
|
|
|
+ let type = req.query.type || req.body.type || 'pic';
|
|
|
+ let callback = req.query.callback || req.body.callback;
|
|
|
+ let url = '';
|
|
|
if (!!op && op === 'rand') {
|
|
|
- if (params.type !== 'pic') {
|
|
|
- params.type = null;
|
|
|
+ if (type !== 'pic') {
|
|
|
+ type = null;
|
|
|
}
|
|
|
- url = "http://v.juhe.cn/joke/randJoke.php?key=" + params.key;
|
|
|
- if (!!params.type) {
|
|
|
- url += "&type=" + params.type;
|
|
|
+ url = "http://v.juhe.cn/joke/randJoke.php?key=" + key;
|
|
|
+ if (!!type) {
|
|
|
+ url += "&type=" + type;
|
|
|
}
|
|
|
} else {
|
|
|
url = "http://japi.juhe.cn/joke/";
|
|
|
- if (!!params.type && params.type === 'text') {
|
|
|
+ if (!!type && type === 'text') {
|
|
|
url += "content/text.from?key=";
|
|
|
} else {
|
|
|
url += "img/text.from?key=";
|
|
|
}
|
|
|
- url += params.key + "&page=" + params.page + "&pagesize=" + params.pagesize;
|
|
|
- if (!!params.sort && !!params.time) {
|
|
|
- url += "&sort=" + params.sort + "&time=" + params.time;
|
|
|
+ url += key + "&page=" + page + "&pagesize=" + pagesize;
|
|
|
+ if (!!sort && !!time) {
|
|
|
+ url += "&sort=" + sort + "&time=" + time;
|
|
|
url = url.replace(/text/, 'list');
|
|
|
}
|
|
|
}
|
|
|
+ console.log(url)
|
|
|
request(url, function(err, response, body) {
|
|
|
body = JSON.parse(body);
|
|
|
- if (!err && response.statusCode === 200 && body.error_code === 0) {
|
|
|
- var output = {
|
|
|
- data: body.result.data || body.result,
|
|
|
- status: {
|
|
|
- code: 200,
|
|
|
- message: ''
|
|
|
- }
|
|
|
- };
|
|
|
- if (req.query.callback) {
|
|
|
- return res.jsonp(output);
|
|
|
- } else {
|
|
|
- return res.json(output);
|
|
|
+ let output = {
|
|
|
+ data: (body.result && body.result.data ? body.result.data : body.result) || {},
|
|
|
+ status: {
|
|
|
+ code: 200,
|
|
|
+ message: ''
|
|
|
}
|
|
|
+ };
|
|
|
+ if (!err && response.statusCode === 200 && body.error_code === 0) {
|
|
|
+ //
|
|
|
} else {
|
|
|
- var error = {
|
|
|
- data: {},
|
|
|
- status: {
|
|
|
- code: -1,
|
|
|
- message: body.reason
|
|
|
- }
|
|
|
+ output.status = {
|
|
|
+ code: -1,
|
|
|
+ message: err || body.reason || 'Something bad happend.'
|
|
|
};
|
|
|
- res.json(error);
|
|
|
+ }
|
|
|
+ if (callback) {
|
|
|
+ return res.jsonp(output);
|
|
|
+ } else {
|
|
|
+ return res.json(output);
|
|
|
}
|
|
|
});
|
|
|
}
|