pbl.js 5.5 KB

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