apis.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. var util = require('util');
  2. var express = require('express');
  3. var router = express.Router();
  4. var conf = require('../config.js');
  5. var mtool = new (require('../lib/tools.js'))(conf);// 消息操作工具
  6. var RateLimit = require('express-rate-limit');
  7. // 限制生成临时链接API的访问次数
  8. var apiLimiter = new RateLimit({
  9. windowMs: 60 * 60 * 1000, // 1 hour
  10. max: conf.rate_limit, // 频次
  11. delayMs: 0, // disabled 延迟响应
  12. });
  13. /* 生成消息的GUID */
  14. router.post('/get-temp', apiLimiter, function(req, res, next) {
  15. // 用户输出的内容
  16. var text = req.body.text;
  17. // 插入消息
  18. mtool.insert(text, (status, guid) => {
  19. rep = { status: status, guid: guid };
  20. res.send(rep);
  21. });
  22. });
  23. /**
  24. * 提取信息
  25. * @param {[type]} req [description]
  26. * @param {[type]} res) { var guid [description]
  27. * @return {[type]} [description]
  28. */
  29. router.post('/get-msg', function(req, res) {
  30. var guid = req.body.guid;
  31. console.log('GUID', guid);
  32. mtool.exists(guid, (exists) => {
  33. var rep = {status: 0, text: null};
  34. if (exists) {
  35. mtool.get(guid, (text) => {
  36. rep.status = 1; rep.text = text;
  37. mtool.delete(guid);// 删除消息
  38. res.send(rep);
  39. });
  40. } else {
  41. res.send(rep);
  42. }
  43. });
  44. })
  45. module.exports = router;