mysql-pbl.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. // ROUTES FOR OUR API(直接执行 SQL 语句)
  2. // =============================================================================
  3. var express = require("express");
  4. var request = require("request");
  5. var bcrypt = require("bcryptjs");
  6. var router = express.Router(); // get an instance of the express Router
  7. const querystring = require("querystring");
  8. var mysql = require("./mysql");
  9. //=====================================
  10. // 本地
  11. // const _mysqlLabor = ["183.36.26.8", "pbl"]; //edu數據庫信息
  12. // const _mysqluser = ["183.36.26.8", "cocorobouser"]; //用户数据库信息
  13. // const _getmysqlLabor2 = ["183.36.26.8", "pbl"]; //edu數據庫信息
  14. // const _getmysqlLabor = ["183.36.26.8", "pbl"]; //edu數據庫信息
  15. //线上
  16. const _mysqlLabor = ["172.16.12.150", "pbl"]; //edu數據庫信息
  17. const _mysqluser = ["172.16.12.150", "cocorobouser"]; //用户数据库信息
  18. // const _getmysqlLabor = ["172.16.12.150", "pbl"]; //edu數據庫信息
  19. // const _getmysqluser = ["172.16.12.150", "cocorobouser"]; //用户数据库信息
  20. //======================================
  21. //解析 url 查询参数
  22. function queryString(url) {
  23. var a = url.split("?");
  24. var json = querystring.parse(a[1]);
  25. return json;
  26. }
  27. //直接执行 SQL(pbl 库)
  28. function runPbl(res, sql, params) {
  29. var cfg = _mysqlLabor;
  30. var p = [cfg[0], cfg[1], sql].concat(params || []);
  31. mysql.usquery(p, function (ret) {
  32. res.end(JSON.stringify(ret));
  33. });
  34. }
  35. //直接执行 SQL(cocorobouser 库)
  36. function runUser(res, sql, params) {
  37. var cfg = _mysqluser;
  38. var p = [cfg[0], cfg[1], sql].concat(params || []);
  39. mysql.usquery(p, function (ret) {
  40. res.end(JSON.stringify(ret));
  41. });
  42. }
  43. /* 查询用户(按 userid) */
  44. router.route("/selectUser").all((req, res, next) => {
  45. var json = queryString(req.url);
  46. var sql = "SELECT * FROM User WHERE userid = ?";
  47. runPbl(res, sql, [json["uid"]]);
  48. });
  49. /* 查询全部用户 */
  50. router.route("/selectUserAll").all((req, res, next) => {
  51. var json = queryString(req.url);
  52. var page = parseInt(json["page"]) || 1;
  53. var pageSize = parseInt(json["pageSize"]) || 10;
  54. var offset = (page - 1) * pageSize;
  55. var sql = "SELECT * FROM User LIMIT ? OFFSET ?";
  56. runPbl(res, sql, [pageSize, offset]);
  57. });
  58. /* 修改用户 */
  59. router.route("/updateUser").post((req, res, next) => {
  60. var json = req.body;
  61. var sql = "UPDATE User SET username = ? WHERE userid = ?";
  62. runPbl(res, sql, [json["username"], json["userid"]]);
  63. });
  64. /* sql */
  65. router.route("/sql").post((req, res, next) => {
  66. var json = req.body;
  67. var sql = json["sql"];
  68. runPbl(res, sql, []);
  69. });
  70. module.exports = router;