cloud.js 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  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. //权限设置 - 登陆 验证码
  11. await asynnext(req, res, next);
  12. //// make sure we go to the next routes and don't stop here
  13. //res.end("", _stime, _etime);
  14. });
  15. /**
  16. * @des 參數解釋同上
  17. */
  18. function asynnext(req, res, next) {
  19. //異步處理
  20. return new Promise(async (resolve, reject) => {
  21. next();
  22. //resolve(true);
  23. });
  24. }
  25. //指定用户创建云端事件的行为
  26. router.route('/event_create').post((req, res, next) => {
  27. var _arr = [req.body.userid, req.body.username, "cloudevent", req.body.eventname, req.body.eventcontent];
  28. postmysql(req, res, "cloud_event_create", _arr);
  29. }).get((req, res, next) => {
  30. var _stime = req.query.starttime || "",
  31. _etime = req.query.endtime || "";
  32. getmysql(req, res, "cloud_event_create_get", req.query.username, "cloud_event_create", _stime, _etime);
  33. });
  34. //指定用户删除云端事件的行为
  35. router.route('/event_del').post((req, res, next) => {
  36. var _arr = [req.body.userid, req.body.username, "cloudevent", req.body.eventname, req.body.eventcontent];
  37. postmysql(req, res, "cloud_event_del", _arr);
  38. }).get((req, res, next) => {
  39. console.log(req.query)
  40. var _stime = req.query.starttime || "",
  41. _etime = req.query.endtime || "";
  42. getmysql(req, res, "cloud_event_del_get", req.query.username, "cloud_event_del", _stime, _etime);
  43. });
  44. //指定用户创建云端可视化面板的行为
  45. router.route('/panel_create').post((req, res, next) => {
  46. var _arr = [req.body.userid, req.body.username, "cloudevent", req.body.eventname, req.body.eventcontent];
  47. postmysql(req, res, "cloud_panel_create", _arr);
  48. }).get((req, res, next) => {
  49. var _stime = req.query.starttime || "",
  50. _etime = req.query.endtime || "";
  51. getmysql(req, res, "cloud_panel_create_get", req.query.username, "cloud_panel_create", _stime, _etime);
  52. });
  53. //指定用户删除云端可视化面板的行为
  54. router.route('/panel_del').post((req, res, next) => {
  55. var _arr = [req.body.userid, req.body.username, "cloudevent", req.body.eventname, req.body.eventcontent];
  56. postmysql(req, res, "cloud_panel_del", _arr);
  57. }).get((req, res, next) => {
  58. var _stime = req.query.starttime || "",
  59. _etime = req.query.endtime || "";
  60. getmysql(req, res, "cloud_panel_del_get", req.query.username, "cloud_panel_del", _stime, _etime);
  61. });
  62. queryString = function (url) {
  63. var a = url.split("?");
  64. var json = querystring.parse(a[1])
  65. return json;
  66. }
  67. //post存儲過程處理
  68. postmysql = function (req, res, functionname, arr) {
  69. //mode的處理
  70. arr.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  71. //執行存儲過程
  72. mysql.usselect(arr, function (ret) { res.end(JSON.stringify(ret)); });
  73. }
  74. //get獲取數據庫信息
  75. getmysql = function (req, res, functionname, ...p) {
  76. p = p || [];
  77. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  78. //執行存儲過程
  79. mysql.usselect(p, function (ret) {
  80. res.end(JSON.stringify(ret));
  81. });
  82. }
  83. module.exports = router;