pbl.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. // ROUTES FOR OUR APIselectClassStudent
  2. // =============================================================================
  3. const express = require("express");
  4. const request = require("request");
  5. const bcrypt = require("bcryptjs");
  6. const router = express.Router(); // get an instance of the express Router
  7. const querystring = require("querystring");
  8. var mysql = require("./mysql");
  9. // const _mysqlLabor = ["123.58.32.151", "pbl"]; //edu數據庫信息
  10. // const _mysqluser = ["123.58.32.151", "cocorobouser"]; //用户数据库信息
  11. // const _getmysqlLabor = ["123.58.32.151", "pbl"]; //edu數據庫信息
  12. // const _getmysqluser = ["123.58.32.151", "cocorobouser"]; //edu數據庫信息
  13. const _mysqlLabor = ["172.16.12.5", "pbl"]; //edu數據庫信息
  14. const _mysqluser = ["172.16.12.5", "cocorobouser"]; //edu數據庫信息
  15. // const _getmysqlLabor = ["172.16.12.5", "pbl"]; //edu數據庫信息
  16. // const _getmysqluser = ["172.16.12.5", "cocorobouser"]; //edu數據庫信息
  17. const _getmysqlLabor2 = ["172.16.12.7", "pbl"]; //edu數據庫信息
  18. const _getmysqlLabor = ["172.16.12.7", "pbl"]; //edu數據庫信息
  19. const _getmysqluser = ["172.16.12.7", "cocorobouser"]; //edu數據庫信息
  20. const _localhost = ["127.0.0.1", "pbl"]; //edu數據庫信息
  21. const crypto = require("crypto");
  22. const https = require("https");
  23. const { Pool } = require('pg');
  24. const axios = require('axios');
  25. const loginHandler = require('./login'); // 确保路径正确
  26. router.route("/login").all(async (req, res, next) => {
  27. loginHandler(req, res);
  28. });
  29. router.route("/selectUser").all((req, res, next) => {
  30. var json = queryString(req.url);
  31. getmysql(req, res, "selectUser", json["userid"]);
  32. });
  33. function generateAPIKey(username) {
  34. let timeStamp = new Date().getTime();
  35. let hashStr = timeStamp + username;
  36. let digest = crypto
  37. .createHash("sha256")
  38. .update(hashStr, "utf8")
  39. .digest("hex");
  40. return digest;
  41. }
  42. queryString = function(url) {
  43. var a = url.split("?");
  44. var json = querystring.parse(a[1]);
  45. return json;
  46. };
  47. //post存儲過程處理
  48. postmysql = function(req, res, functionname) {
  49. //mode的處理
  50. if (req.body[0]) {
  51. p = Object.values(req.body[0]);
  52. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  53. //執行存儲過程
  54. mysql.usselect(p, function(ret) {
  55. res.end(JSON.stringify(ret));
  56. });
  57. }
  58. };
  59. //post存儲過程處理
  60. postmysql2 = function(req, res, functionname) {
  61. //mode的處理
  62. if (req.body) {
  63. p = Object.values(req.body)[0].split(",");
  64. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  65. //執行存儲過程
  66. mysql.usselect(p, function(ret) {
  67. res.end(JSON.stringify(ret));
  68. });
  69. }
  70. };
  71. //post存儲過程處理
  72. postmysql3 = function(req, res, functionname) {
  73. //mode的處理
  74. if (req.body) {
  75. p = Object.values(req.body);
  76. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  77. //執行存儲過程
  78. mysql.usselect(p, function(ret) {
  79. res.end(JSON.stringify(ret));
  80. });
  81. }
  82. };
  83. //get獲取數據庫信息
  84. getmysql = function(req, res, functionname, ...p) {
  85. p = p || [];
  86. p.unshift(_getmysqlLabor[0], _getmysqlLabor[1], functionname);
  87. //執行存儲過程
  88. mysql.usselect(p, function(ret) {
  89. res.end(JSON.stringify(ret));
  90. }); //
  91. };
  92. //get獲取數據庫信息
  93. getmysql2 = function(req, res, functionname, ...p) {
  94. p = p || [];
  95. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  96. //執行存儲過程
  97. mysql.usselect(p, function(ret) {
  98. res.end(JSON.stringify(ret));
  99. }); //
  100. };
  101. //get獲取數據庫信息
  102. getmysql3 = function(req, res, functionname, ...p) {
  103. p = p || [];
  104. p.unshift(_getmysqlLabor2[0], _getmysqlLabor2[1], functionname);
  105. //執行存儲過程
  106. mysql.usselect(p, function(ret) {
  107. res.end(JSON.stringify(ret));
  108. }); //
  109. };
  110. //post存储过程处理
  111. userpostmysql = function(req, res, functionname) {
  112. //mode的处理
  113. if (req.body.mode) {
  114. p = req.body.mode.split(",");
  115. p.unshift(_mysqluser[0], _mysqluser[1], functionname);
  116. //执行存储过程
  117. mysql.usselect(p, function(ret) {
  118. res.end(JSON.stringify(ret));
  119. });
  120. }
  121. };
  122. //get获取数据库信息
  123. usergetmysql = function(req, res, functionname, ...p) {
  124. p = p || [];
  125. p.unshift(_mysqluser[0], _mysqluser[1], functionname);
  126. //执行存储过程
  127. mysql.usselect(p, function(ret) {
  128. res.end(JSON.stringify(ret));
  129. }); //
  130. };
  131. //post存儲過程處理
  132. postmysqlLocal = function(req, res) {
  133. //mode的處理
  134. if (req.body[0]) {
  135. p = Object.values(req.body[0]);
  136. p.unshift(_localhost[0], _localhost[1]);
  137. //執行存儲過程
  138. mysql.usselect(p, function(ret) {
  139. res.end(JSON.stringify(ret));
  140. });
  141. }
  142. };
  143. postmysqlOnline = function(req, res) {
  144. //mode的處理
  145. if (req.body[0]) {
  146. p = Object.values(req.body[0]);
  147. p.unshift(_mysqlLabor[0], _mysqlLabor[1]);
  148. //執行存儲過程
  149. mysql.usselect(p, function(ret) {
  150. res.end(JSON.stringify(ret));
  151. });
  152. }
  153. };
  154. module.exports = router;