cloud.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. // ROUTES FOR OUR API
  2. // =============================================================================
  3. var express = require('express');
  4. var router = express.Router(); // get an instance of the express Router
  5. const querystring = require('querystring');
  6. var mysql = require('./mysql');
  7. const _mysqlLabor = ["172.16.12.5", "cuhkjc_query"]; //query數據庫信息
  8. //統壹處理區域
  9. router.use(async function (req, res, next) {
  10. await asynnext(req, res, next, _stime, _etime);
  11. });
  12. /**
  13. * @des 參數解釋同上
  14. */
  15. function asynnext(req, res, next) {
  16. //異步處理
  17. return new Promise(async (resolve, reject) => {
  18. next();
  19. //resolve(true);
  20. });
  21. }
  22. //指定用户创建云端事件的行为
  23. router.route('/event_create').post((req, res, next) => {
  24. var _arr = [req.body.userid, req.body.username, "cloudevent", req.body.eventname, req.body.eventcontent];
  25. postmysql(req, res, "cloud_event_create", _arr);
  26. }).get((req, res, next) => {
  27. var _stime = req.query.starttime || "",
  28. _etime = req.query.endtime || "";
  29. getmysql(req, res, "cloud_event_create_get", req.query.username, "cloud_event_create", _stime, _etime);
  30. });
  31. //指定用户删除云端事件的行为
  32. router.route('/event_del').post((req, res, next) => {
  33. var _arr = [req.body.userid, req.body.username, "cloudevent", req.body.eventname, req.body.eventcontent];
  34. postmysql(req, res, "cloud_event_del", _arr);
  35. }).get((req, res, next) => {
  36. console.log("aaaaa")
  37. console.log(req.query);
  38. var _stime = req.query.starttime || "",
  39. _etime = req.query.endtime || "";
  40. getmysql(req, res, "cloud_event_del_get", req.query.username, "cloud_event_del", _stime, _etime);
  41. });
  42. //指定用户创建云端可视化面板的行为
  43. router.route('/panel_create').post((req, res, next) => {
  44. var _arr = [req.body.userid, req.body.username, "cloudevent", req.body.eventname, req.body.eventcontent];
  45. postmysql(req, res, "cloud_panel_create", _arr);
  46. }).get((req, res, next) => {
  47. var _stime = req.query.starttime || "",
  48. _etime = req.query.endtime || "";
  49. getmysql(req, res, "cloud_panel_create_get", req.query.username, "cloud_panel_create", _stime, _etime);
  50. });
  51. //指定用户删除云端可视化面板的行为
  52. router.route('/panel_del').post((req, res, next) => {
  53. var _arr = [req.body.userid, req.body.username, "cloudevent", req.body.eventname, req.body.eventcontent];
  54. postmysql(req, res, "cloud_panel_del", _arr);
  55. }).get((req, res, next) => {
  56. var _stime = req.query.starttime || "",
  57. _etime = req.query.endtime || "";
  58. getmysql(req, res, "cloud_panel_del_get", req.query.username, "cloud_panel_del", _stime, _etime);
  59. });
  60. queryString = function (url) {
  61. var a = url.split("?");
  62. var json = querystring.parse(a[1])
  63. return json;
  64. }
  65. //post存儲過程處理
  66. postmysql = function (req, res, functionname, arr) {
  67. //mode的處理
  68. arr.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  69. //執行存儲過程
  70. mysql.usselect(arr, function (ret) { res.end(JSON.stringify(ret)); });
  71. }
  72. //get獲取數據庫信息
  73. getmysql = function (req, res, functionname, ...p) {
  74. p = p || [];
  75. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  76. //執行存儲過程
  77. mysql.usselect(p, function (ret) {
  78. res.end(JSON.stringify(ret));
  79. });
  80. }
  81. module.exports = router;