joke.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. var express = require('express');
  2. var request = require('request');
  3. var router = express.Router();
  4. // 创建 application/x-www-form-urlencoded 编码解析
  5. var bodyParser = require('body-parser');
  6. var urlencodedParser = bodyParser.urlencoded({ extended: false });
  7. var key = "64a40e3c55e88cc8cd66a78d030bddce";
  8. /**
  9. * Get 请求
  10. */
  11. router.get('/', function(req, res, next) {
  12. var page = req.query.page || 1;
  13. var pagesize = req.query.pagesize || 1;
  14. var sort = req.query.sort || '';
  15. var time = req.query.time || '';
  16. var url = "http://japi.juhe.cn/joke/img/text.from?key=" + key + "&page=" + page + "&pagesize=" + pagesize;
  17. if (!!sort && !!time) {
  18. url = "http://japi.juhe.cn/joke/img/list.from?key=" + key + "&page=" + page + "&pagesize=" + pagesize + "&sort=" + sort + "&time=" + time;
  19. }
  20. getJOKE(req, res, next, url);
  21. });
  22. /**
  23. * Post 请求
  24. */
  25. router.post('/', urlencodedParser, function(req, res, next) {
  26. var params = {
  27. page: req.body.page || 1,
  28. pagesize: req.body.pagesize || 1,
  29. sort:req.body.sort || '',
  30. time:req.body.time || ''
  31. };
  32. });
  33. function getJOKE(req, res, next, url) {
  34. request(url, function(err, res, body) {
  35. if (!err && res.statusCode == 200) {
  36. body = JSON.parse(body);
  37. var output = {
  38. data: body,
  39. status: {
  40. code: 200,
  41. message: ''
  42. }
  43. };
  44. if (req.query.callback) {
  45. return res.jsonp(output);
  46. } else {
  47. return res.send(output);
  48. }
  49. } else {
  50. var error = new Error(err);
  51. error.status = 404;
  52. next(error);
  53. }
  54. });
  55. }
  56. module.exports = router;