pbl.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. // ROUTES FOR OUR API
  2. // =============================================================================
  3. var express = require("express");
  4. var request = require("request");
  5. var bcrypt = require("bcryptjs");
  6. let axios = require("axios");
  7. var router = express.Router(); // get an instance of the express Router
  8. const querystring = require("querystring");
  9. var mysql = require("./mysql");
  10. // const _mysqlLabor = ["123.58.32.151", "sc_app"]; //edu數據庫信息
  11. // const _mysqluser = ["123.58.32.151", "cocorobouser"]; //用户数据库信息
  12. // const _mysqlLabor = ["10.3.13.84", "sc_app"]; //edu數據庫信息
  13. const _mysqlLabor = ["172.16.12.5", "sc_app"]; //edu數據庫信息
  14. const _mysqluser = ["172.16.12.5", "cocorobouser"]; //edu數據庫信息
  15. var crypto = require("crypto");
  16. var https = require("https");
  17. let jwt = require("jsonwebtoken");
  18. let multer = require("multer");
  19. const wx = {
  20. appid: "wx1260af162664fd04", // 填写用户自己的appid
  21. secret: "9d399b3aa0a9e8bce68d20e7734b73e0", // 填写用户自己的密钥
  22. };
  23. //統壹處理區域
  24. router.use(async function(req, res, next) {
  25. await asynnext(req, res, next);
  26. //// make sure we go to the next routes and don't stop here
  27. //res.end("");
  28. });
  29. /**
  30. * @des 參數解釋同上
  31. */
  32. function asynnext(req, res, next) {
  33. //異步處理
  34. return new Promise(async(resolve, reject) => {
  35. next();
  36. //resolve(true);aa
  37. });
  38. }
  39. /*測試*/
  40. router.route("/a").all((req, res, next) => {
  41. res.send({
  42. msg: "成功",
  43. });
  44. return console.log(req.query);
  45. QMysql(req, res, "insert_user");
  46. var json = queryString(req.url);
  47. getmysql(req, res, "a", json["ph"], json["pa"]);
  48. });
  49. router.route("/b").all((req, res, next) => {
  50. var json = queryString(req.url);
  51. getmysql(req, res, "b", json["ph"], json["pa"]);
  52. });
  53. // 获取微信openID
  54. router.get("/weChatCode", async(req, res) => {
  55. console.log(req.query);
  56. let response = await axios.get("https://api.weixin.qq.com/sns/jscode2session", {
  57. params: {
  58. appid: wx.appid,
  59. secret: wx.secret,
  60. js_code: req.query.codes,
  61. grant_type: "authorization_code",
  62. },
  63. });
  64. res.send(response.data.openid);
  65. // QMysql(req, res, "update_NewStatusById");
  66. });
  67. //登录接口
  68. router.post("/login", (req, res) => {
  69. console.log(req.body);
  70. let { openid } = req.body;
  71. postmysql3(req, res, "insert_user");
  72. let token = jwt.sign({
  73. openid,
  74. },
  75. "secret", {
  76. expiresIn: "10s",
  77. }
  78. );
  79. res.send({
  80. code: 200,
  81. msg: "登录成功",
  82. token,
  83. });
  84. });
  85. //查询是否注册过
  86. router.post("/selectUser", (req, res) => {
  87. console.log(req.body);
  88. let { openid } = req.body;
  89. postmysql3(req, res, "Select_user");
  90. });
  91. //上传活动
  92. router.post("/insertActive", (req, res) => {
  93. console.log(req.body);
  94. postmysql3(req, res, "insert_activity");
  95. res.send({
  96. code: 200,
  97. msg: "上传成功",
  98. });
  99. });
  100. //获取活动
  101. router.post("/selectActivity", (req, res) => {
  102. console.log(req.body);
  103. postmysql3(req, res, "select_activity");
  104. });
  105. //查询全部活动
  106. router.route("/selectAct").all((req, res, next) => {
  107. var json = queryString(req.url);
  108. getmysql(req, res, "selectAct");
  109. });
  110. queryString = function(url) {
  111. var a = url.split("?");
  112. var json = querystring.parse(a[1]);
  113. return json;
  114. };
  115. //post存儲過程處理
  116. postmysql = function(req, res, functionname) {
  117. //mode的處理
  118. if (req.body[0]) {
  119. p = Object.values(req.body[0]);
  120. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  121. //執行存儲過程
  122. mysql.usselect(p, function(ret) {
  123. res.end(JSON.stringify(ret));
  124. });
  125. }
  126. };
  127. //post存儲過程處理
  128. postmysql2 = function(req, res, functionname) {
  129. //mode的處理
  130. if (req.body) {
  131. p = Object.values(req.body)[0].split(",");
  132. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  133. //執行存儲過程
  134. mysql.usselect(p, function(ret) {
  135. res.end(JSON.stringify(ret));
  136. });
  137. }
  138. };
  139. //post存儲過程處理
  140. postmysql3 = function(req, res, functionname) {
  141. //mode的處理
  142. if (req.body) {
  143. p = Object.values(req.body);
  144. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  145. //執行存儲過程
  146. mysql.usselect(p, function(ret) {
  147. res.end(JSON.stringify(ret));
  148. });
  149. }
  150. };
  151. //get獲取數據庫信息
  152. getmysql = function(req, res, functionname, ...p) {
  153. p = p || [];
  154. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  155. //執行存儲過程
  156. mysql.usselect(p, function(ret) {
  157. res.end(JSON.stringify(ret));
  158. }); //
  159. };
  160. //post存储过程处理
  161. userpostmysql = function(req, res, functionname) {
  162. //mode的处理
  163. if (req.body.mode) {
  164. p = req.body.mode.split(",");
  165. p.unshift(_mysqluser[0], _mysqluser[1], functionname);
  166. //执行存储过程
  167. mysql.usselect(p, function(ret) {
  168. res.end(JSON.stringify(ret));
  169. });
  170. }
  171. };
  172. //get获取数据库信息
  173. usergetmysql = function(req, res, functionname, ...p) {
  174. p = p || [];
  175. p.unshift(_mysqluser[0], _mysqluser[1], functionname);
  176. //执行存储过程
  177. mysql.usselect(p, function(ret) {
  178. res.end(JSON.stringify(ret));
  179. }); //
  180. };
  181. module.exports = router;