pbl.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610
  1. // ROUTES FOR OUR API
  2. // =============================================================================
  3. var express = require('express');
  4. var bcrypt = require('bcryptjs');
  5. var router = express.Router(); // get an instance of the express Router
  6. const querystring = require('querystring');
  7. var mysql = require('./mysql');
  8. // const _mysqlLabor = ["123.58.32.151", "pbl"]; //edu數據庫信息
  9. const _mysqlLabor = ["172.16.12.5", "pbl"]; //edu數據庫信息
  10. //統壹處理區域
  11. router.use(async function(req, res, next) {
  12. await asynnext(req, res, next);
  13. //// make sure we go to the next routes and don't stop here
  14. //res.end("");
  15. });
  16. /**
  17. * @des 參數解釋同上
  18. */
  19. function asynnext(req, res, next) {
  20. //異步處理
  21. return new Promise(async(resolve, reject) => {
  22. next();
  23. //resolve(true);aa
  24. });
  25. }
  26. /*測試*/
  27. router.route('/a').all((req, res, next) => {
  28. var json = queryString(req.url);
  29. getmysql(req, res, "a", json['ph'], json['pa']);
  30. });
  31. router.route('/b').all((req, res, next) => {
  32. var json = queryString(req.url);
  33. getmysql(req, res, "b", json['ph'], json['pa']);
  34. });
  35. /* 注册接口 */
  36. router.route('/register').post(function(req, res, next) {
  37. //mode的处理
  38. if (req.body[0]) {
  39. // 0 用户名 1 用户密码 2用户身份 3 第三方id(可有可无)
  40. p = Object.values(req.body[0]); //获取用户密码
  41. //没有第三方id的处理
  42. // if (p.length < 4) {
  43. // p.push("")
  44. // }
  45. p[1] = bcrypt.hashSync(p[1], bcrypt.genSaltSync(10));
  46. //密码加密
  47. // bcrypt.hash(p[1], 10, function (err, hash) {
  48. // if (err) {
  49. // return next(err);
  50. // }
  51. // p[1] = hash;
  52. // });
  53. //参数拼接,注册
  54. p.unshift(_mysqlLabor[0], _mysqlLabor[1], "register");
  55. //返回注册用户数据
  56. // mysql.usselect(p, function (ret) {
  57. // res.end(ret);
  58. // });
  59. mysql.usselect(p, function(ret) {
  60. res.end(JSON.stringify(ret));
  61. });
  62. }
  63. });
  64. /*登录接口*/
  65. router.route('/login').all((req, res, next) => {
  66. //mode的处理
  67. if (req.body[0]) {
  68. // 0 用户名 1 用户密码
  69. c = Object.values(req.body[0]); //获取用户密码
  70. p = [c[0]]
  71. // p[1] = bcrypt.hashSync(p[1], bcrypt.genSaltSync(10));
  72. var _password = [c[0]];
  73. _password.unshift(_mysqlLabor[0], _mysqlLabor[1], "selectPassword");
  74. mysql.usselect(_password, function(ret) {
  75. var _ret = ret
  76. var paJ = _ret[0][0].userpassword
  77. bcrypt.compare(c[1], paJ, function(err, result) {
  78. // console.log(result)
  79. if (result) {
  80. //参数拼接,登录
  81. p.unshift(_mysqlLabor[0], _mysqlLabor[1], "selectLogin");
  82. //执行存储过程
  83. mysql.usselect(p, function(ret) {
  84. res.end(JSON.stringify({ status: "1", ...ret }));
  85. });
  86. } else {
  87. res.end(JSON.stringify([{ status: "0" }]));
  88. }
  89. })
  90. });
  91. // console.log(isEqual)
  92. }
  93. });
  94. /* 找寻重复手机号 */
  95. router.route('/findPhone').all((req, res, next) => {
  96. var json = queryString(req.url);
  97. getmysql(req, res, "findPhone", json['un']);
  98. });
  99. /* 新增班级 */
  100. router.route('/insertClass').all((req, res, next) => {
  101. var json = queryString(req.url);
  102. getmysql(req, res, "insertClass", json['name'], json['oid'], json['uid']);
  103. });
  104. /* 查询班级 */
  105. router.route('/selectClass').all((req, res, next) => {
  106. var json = queryString(req.url);
  107. getmysql(req, res, "selectClass", json['cu'], json['oid'], json['cn'], json['page'], 10);
  108. });
  109. /* 删除班级 */
  110. router.route('/deleteClass').all((req, res, next) => {
  111. var json = queryString(req.url);
  112. getmysql(req, res, "deleteClass", json['id']);
  113. });
  114. /* 查询学校 */
  115. router.route('/selectOrg').all((req, res, next) => {
  116. var json = queryString(req.url);
  117. getmysql(req, res, "selectOrg");
  118. });
  119. /* 新增学生 */
  120. router.route('/insertStudent').all((req, res, next) => {
  121. var json = queryString(req.url);
  122. json['userpassword'] = bcrypt.hashSync(json['userpassword'], bcrypt.genSaltSync(10))
  123. getmysql(req, res, "insertStudent", json['ph'], json['username'], json['userpassword'], json['type'], json['oid'], json['tid'], json['cid']);
  124. });
  125. // /* 新增学生 */
  126. // router.route('/iStudent').all((req, res, next) => {
  127. // var json = queryString(req.url);
  128. // json['userpassword'] = bcrypt.hashSync(json['userpassword'], bcrypt.genSaltSync(10))
  129. // getmysql(req, res, "insertStudent", json['ph'], json['username'], json['userpassword'], json['type'], json['oid'], json['tid'], json['cid']);
  130. // });
  131. /* 查询学生 */
  132. router.route('/selectStudent').all((req, res, next) => {
  133. var json = queryString(req.url);
  134. getmysql(req, res, "selectStudent", json['uid'], json['cu'], json['cn'], json['page'], 10);
  135. });
  136. /* 查询班级是否有重复 */
  137. router.route('/selectC').all((req, res, next) => {
  138. var json = queryString(req.url);
  139. getmysql(req, res, "selectC", json['className']);
  140. });
  141. /* 查询学校是否有重复 */
  142. router.route('/selectS').all((req, res, next) => {
  143. var json = queryString(req.url);
  144. getmysql(req, res, "selectS", json['schoolName']);
  145. });
  146. /* 修改个人信息 */
  147. router.route('/updateUser').all((req, res, next) => {
  148. postmysql(req, res, "updateUser");
  149. });
  150. //查询老师的信息
  151. router.route('/getUser').all((req, res, next) => {
  152. var json = queryString(req.url);
  153. getmysql(req, res, "selectUserDeail", json['uid']);
  154. });
  155. router.route('/selectUser').all((req, res, next) => {
  156. var json = queryString(req.url);
  157. getmysql(req, res, "selectUser",json['userid']);
  158. });
  159. //查询教师端消息
  160. router.route('/getNewsTeacher').all((req, res, next) => {
  161. var json = queryString(req.url);
  162. getmysql(req, res, "selectNew", json['uid'], json['page'], 10);
  163. });
  164. //查询通知详情
  165. router.route('/selectNewDetail').all((req, res, next) => {
  166. var json = queryString(req.url);
  167. getmysql(req, res, "selectNewDetail", json['nid']);
  168. });
  169. //查出分组分类
  170. router.route('/getGroup').all((req, res, next) => {
  171. getmysql(req, res, "selectGroupTeacher");
  172. });
  173. //查询这个老师底下的学生提交的作业
  174. router.route('/getWorks').all((req, res, next) => {
  175. var json = queryString(req.url);
  176. getmysql(req, res, "selectWorks", json['cn'], json['cid'], json['page'], 10);
  177. });
  178. //查询项目
  179. router.route('/getProject').all((req, res, next) => {
  180. var json = queryString(req.url);
  181. getmysql(req, res, "selectProject", json['type'], json['uid'], json['oid'], json['cn'], json['page'], 10);
  182. });
  183. //查询项目成员
  184. router.route('/selectProjectStudent').all((req, res, next) => {
  185. var json = queryString(req.url);
  186. getmysql(req, res, "select_student", json['cn'], json['oid'], json['uid']);
  187. });
  188. //新增课程
  189. router.route('/addWork').all((req, res, next) => {
  190. postmysql(req, res, "insert_teacher_work");
  191. });
  192. //修改课程
  193. router.route('/updateWork').all((req, res, next) => {
  194. postmysql(req, res, "update_teacher_work");
  195. });
  196. //查询课程
  197. router.route('/selectCourse').all((req, res, next) => {
  198. var json = queryString(req.url);
  199. getmysql(req, res, "select_course", json['type'], json['uid'], json['oid'], json['page'], 10);
  200. });
  201. //查询学校
  202. router.route('/selectSchoolName').all((req, res, next) => {
  203. var json = queryString(req.url);
  204. getmysql(req, res, "selectOidName", json['oid']);
  205. });
  206. //删除学生
  207. router.route('/deleteStudent').all((req, res, next) => {
  208. postmysql(req, res, "delete_student");
  209. });
  210. //查询学校底下的班级
  211. router.route('/selectClassBySchool').all((req, res, next) => {
  212. var json = queryString(req.url);
  213. getmysql(req, res, "selectClassBySchool", json['oid']);
  214. });
  215. //学生注册接口
  216. router.route('/register_student').post(function(req, res, next) {
  217. //mode的处理
  218. if (req.body[0]) {
  219. // 0 用户名 1 用户密码 2用户身份 3 第三方id(可有可无)
  220. p = Object.values(req.body[0]); //获取用户密码
  221. //没有第三方id的处理
  222. // if (p.length < 4) {
  223. // p.push("")
  224. // }
  225. p[1] = bcrypt.hashSync(p[1], bcrypt.genSaltSync(10));
  226. //密码加密
  227. // bcrypt.hash(p[1], 10, function (err, hash) {
  228. // if (err) {
  229. // return next(err);
  230. // }
  231. // p[1] = hash;
  232. // });
  233. //参数拼接,注册
  234. p.unshift(_mysqlLabor[0], _mysqlLabor[1], "register_student");
  235. //返回注册用户数据
  236. // mysql.usselect(p, function (ret) {
  237. // res.end(ret);
  238. // });
  239. mysql.usselect(p, function(ret) {
  240. res.end(JSON.stringify(ret));
  241. });
  242. }
  243. });
  244. //查询课程详情
  245. router.route('/selectCourseDetail').all((req, res, next) => {
  246. var json = queryString(req.url);
  247. getmysql(req, res, "selectCourseDetail", json['courseId']);
  248. });
  249. //跳转阶段时,如果有课程就查询1返回,如果没有就插入
  250. router.route('/addUserR').all((req, res, next) => {
  251. var json = queryString(req.url);
  252. getmysql(req, res, "insertUserR", json['uid'], json['cid']);
  253. });
  254. //新增学生端作业
  255. router.route('/addWorks').all((req, res, next) => {
  256. postmysql(req, res, "add_works");
  257. });
  258. //查询作业详情
  259. router.route('/selectWorksDetail').all((req, res, next) => {
  260. var json = queryString(req.url);
  261. getmysql(req, res, "selectWorksDetail", json['uid'], json['cid']);
  262. });
  263. //新增作业评分
  264. router.route('/updateWorks').all((req, res, next) => {
  265. var json = queryString(req.url);
  266. getmysql(req, res, "updateWorks", json['rate'], json['tuid'], json['id']);
  267. });
  268. //新增素材信息
  269. router.route('/addMtl').all((req, res, next) => {
  270. var json = queryString(req.url);
  271. getmysql(req, res, "add_mtl", json['cInfo'], json['t'], json['cBy']);
  272. });
  273. //根据类型查询素材信息
  274. router.route('/selectMtl').all((req, res, next) => {
  275. var json = queryString(req.url);
  276. getmysql(req, res, "selectMtl", json['t'], json['page'], 10);
  277. });
  278. //查询学生信息
  279. router.route('/selectSDetail').all((req, res, next) => {
  280. var json = queryString(req.url);
  281. getmysql(req, res, "selectStudentDetail", json['uid']);
  282. });
  283. //查询个人课程
  284. router.route('/selectMyCourse').all((req, res, next) => {
  285. var json = queryString(req.url);
  286. getmysql(req, res, "selectMyCourse", json['uid']);
  287. });
  288. //查询个人课程groupby课程id
  289. router.route('/selectMyCourseBycid').all((req, res, next) => {
  290. var json = queryString(req.url);
  291. getmysql(req, res, "selectMyCourseBycid", json['uid']);
  292. });
  293. //查询所有课程
  294. router.route('/selectAllCourse').all((req, res, next) => {
  295. var json = queryString(req.url);
  296. getmysql(req, res, "selectAllCourse", json['oid'], json['page'], 10);
  297. });
  298. //删除素材
  299. router.route('/deleteM').all((req, res, next) => {
  300. var json = queryString(req.url);
  301. getmysql(req, res, "deleteM", json['id']);
  302. });
  303. //点击阶段时添加观看人数
  304. router.route('/updateVc').all((req, res, next) => {
  305. var json = queryString(req.url);
  306. getmysql(req, res, "updateVc", json['cid']);
  307. });
  308. //删除课程
  309. router.route('/deleteCourse').all((req, res, next) => {
  310. var json = queryString(req.url);
  311. getmysql(req, res, "deleteCourse", json['cid']);
  312. });
  313. //查看课程
  314. router.route('/select_course_detail').all((req, res, next) => {
  315. var json = queryString(req.url);
  316. getmysql(req, res, "select_course_detail", json['cid']);
  317. });
  318. //模糊查找课程
  319. router.route('/searchCourse').all((req, res, next) => {
  320. var json = queryString(req.url);
  321. getmysql(req, res, "searchCourse", json['cu'], json['cn'], json['page'], 10);
  322. });
  323. //创建调查问卷
  324. router.route('/addAsk').all((req, res, next) => {
  325. postmysql(req, res, "insert_ask");
  326. });
  327. //学生提交问卷
  328. router.route('/addAskList').all((req, res, next) => {
  329. postmysql(req, res, "insert_askList");
  330. });
  331. //获取调查问卷
  332. router.route('/getAsk').all((req, res, next) => {
  333. var json = queryString(req.url);
  334. getmysql(req, res, "select_ask", json['uid'], json['page'], 10);
  335. });
  336. //问卷调查数据统计
  337. router.route('/getAskListByAskid').all((req, res, next) => {
  338. var json = queryString(req.url);
  339. getmysql(req, res, "select_askListByAskid", json['aid']);
  340. });
  341. //删除学生提交问卷
  342. router.route('/deleteAskList').all((req, res, next) => {
  343. postmysql(req, res, "update_askList_delete");
  344. });
  345. //根据id获取调查问卷
  346. router.route('/getAskList').all((req, res, next) => {
  347. var json = queryString(req.url);
  348. getmysql(req, res, "select_askList", json['uid'], json['page'], 10);
  349. });
  350. //查看便签列表
  351. router.route('/selectNote').all((req, res, next) => {
  352. var json = queryString(req.url);
  353. getmysql(req, res, "selectNote", json['uid']);
  354. });
  355. //新增便签列表
  356. router.route('/insertNote').all((req, res, next) => {
  357. var json = queryString(req.url);
  358. getmysql(req, res, "insertNote", json['uid'], json['c']);
  359. });
  360. //根据便签id修改便签内容
  361. router.route('/updateNote').all((req, res, next) => {
  362. var json = queryString(req.url);
  363. getmysql(req, res, "updateNote", json['nid'], json['c']);
  364. });
  365. //删除便签
  366. router.route('/deleteNote').all((req, res, next) => {
  367. var json = queryString(req.url);
  368. getmysql(req, res, "deleteNote", json['nid']);
  369. });
  370. //查询便签
  371. router.route('/selectNoteContent').all((req, res, next) => {
  372. var json = queryString(req.url);
  373. getmysql(req, res, "selectNoteContent", json['cn']);
  374. });
  375. router.route('/updateUserByEdu').all((req, res, next) => {
  376. postmysql(req, res, "updateUserByEdu");
  377. });
  378. router.route('/selectUser').all((req, res, next) => {
  379. var json = queryString(req.url);
  380. getmysql(req, res, "selectUser", json['userid']);
  381. });
  382. //lsc
  383. //admin 查询学校
  384. router.route('/getSchoolAdmin').all((req, res, next) => {
  385. var json = queryString(req.url);
  386. getmysql(req, res, "select_school", json['page'], 10);
  387. });
  388. //admin 添加学校
  389. router.route('/addSchoolAdmin').all((req, res, next) => {
  390. postmysql(req, res, "add_school");
  391. });
  392. //admin 删除学校
  393. router.route('/deleteSchoolAdmin').all((req, res, next) => {
  394. postmysql(req, res, "delete_school");
  395. });
  396. //admin 查询班级
  397. router.route('/getClassAdmin').all((req, res, next) => {
  398. var json = queryString(req.url);
  399. getmysql(req, res, "select_classAdmin", json['cn'], json['page'], 10);
  400. });
  401. //admin 添加班级
  402. router.route('/addClassAdmin').all((req, res, next) => {
  403. postmysql(req, res, "add_classAdmin");
  404. });
  405. //admin 查询班级是否重复
  406. router.route('/getClassRepeat').all((req, res, next) => {
  407. var json = queryString(req.url);
  408. getmysql(req, res, "select_classRepeatAdmin", json['n'], json['oid']);
  409. });
  410. //admin 发布通知
  411. router.route('/addNews').all((req, res, next) => {
  412. postmysql(req, res, "add_news");
  413. });
  414. //admin 删除通知
  415. router.route('/deleteNews').all((req, res, next) => {
  416. postmysql(req, res, "delete_news");
  417. });
  418. //admin 添加banner
  419. router.route('/addBanner').all((req, res, next) => {
  420. postmysql(req, res, "add_banner");
  421. });
  422. //admin 添加banner
  423. router.route('/deleteBanner').all((req, res, next) => {
  424. postmysql(req, res, "delete_banner");
  425. });
  426. //admin 查询banner
  427. router.route('/getBanner').all((req, res, next) => {
  428. var json = queryString(req.url);
  429. getmysql(req, res, "select_banner");
  430. });
  431. //admin 查询课程getSearchCourse
  432. router.route('/getSearchCourse').all((req, res, next) => {
  433. var json = queryString(req.url);
  434. getmysql(req, res, "selectAll_courseSearch", json['t']);
  435. });
  436. //admin 查询所有课程专区
  437. router.route('/getZone').all((req, res, next) => {
  438. getmysql(req, res, "select_zone");
  439. });
  440. //admin 添加课程专区
  441. router.route('/addZone').all((req, res, next) => {
  442. postmysql(req, res, "insert_classZone");
  443. });
  444. //查询所有课程专区下的课程
  445. router.route('/getZoneClass').all((req, res, next) => {
  446. var json = queryString(req.url);
  447. getmysql(req, res, "select_zoneClass", json['bid'], json['oid'], json['page'], 10);
  448. });
  449. //查询所有课程专区下的课程
  450. router.route('/getZoneClassStudent').all((req, res, next) => {
  451. var json = queryString(req.url);
  452. getmysql(req, res, "select_zoneClass", json['bid'], json['oid'], json['page'], 20);
  453. });
  454. //admin 后台查看专区下课程的数量
  455. router.route('/getZoneClassNum').all((req, res, next) => {
  456. var json = queryString(req.url);
  457. getmysql(req, res, "select_zoneClassNum", json['bid']);
  458. });
  459. //admin 后台添加课程专区时查看课程是否在此专区重复
  460. router.route('/getZoneClassRepeat').all((req, res, next) => {
  461. var json = queryString(req.url);
  462. getmysql(req, res, "select_zoneClassRepeat", json['pid'], json['cid']);
  463. });
  464. //把课程添加进专区
  465. router.route('/addZoneCourse').all((req, res, next) => {
  466. postmysql(req, res, "insert_app");
  467. });
  468. //admin 删除课程专区底下的课程
  469. router.route('/deleteZoneCourse').all((req, res, next) => {
  470. postmysql(req, res, "delete_app");
  471. });
  472. //admin 删除班级
  473. router.route('/deleteZone').all((req, res, next) => {
  474. postmysql(req, res, "delete_zone");
  475. });
  476. //admin 后台专区上移下移
  477. router.route('/zoneRank').all((req, res, next) => {
  478. postmysql(req, res, "update_classRank");
  479. });
  480. //admin 添加模板文档
  481. router.route('/addTemplateAdmin').all((req, res, next) => {
  482. postmysql(req, res, "add_template");
  483. });
  484. //admin 添加模板文档
  485. router.route('/deleteTemplateAdmin').all((req, res, next) => {
  486. postmysql(req, res, "delete_template");
  487. });
  488. //admin 查询模板文档
  489. router.route('/getTemplateAdmin').all((req, res, next) => {
  490. var json = queryString(req.url);
  491. getmysql(req, res, "select_template", json['page'], 10);
  492. });
  493. //admin 查询课程
  494. router.route('/getCourseAdmin').all((req, res, next) => {
  495. var json = queryString(req.url);
  496. getmysql(req, res, "select_courseAdmin", json['cn'], json['page'], 10);
  497. });
  498. //admin 查询模板文档
  499. router.route('/deleteCourseAdmin').all((req, res, next) => {
  500. postmysql(req, res, "delete_courseAdmin", );
  501. });
  502. //teacher 查询模板
  503. router.route('/getTemplateT').all((req, res, next) => {
  504. var json = queryString(req.url);
  505. getmysql(req, res, "select_templateT");
  506. });
  507. //思维网格 创建房间
  508. router.route('/insertRoom').all((req, res, next) => {
  509. postmysql(req, res, "insertRoom");
  510. });
  511. //协同编辑 创建房间
  512. router.route('/insertRoomByFile').all((req, res, next) => {
  513. var json = queryString(req.url);
  514. getmysql(req, res, "insertRoomByFile",json["uid"],json["n"],json["d"]);
  515. });
  516. //思维网格 查询是否是重复房间号
  517. router.route('/checkRoomNum').all((req, res, next) => {
  518. var json = queryString(req.url);
  519. getmysql(req, res, "checkRoomNum", json['num']);
  520. });
  521. //协同编辑 查询是否是重复房间号
  522. router.route('/checkRoomNumByFile').all((req, res, next) => {
  523. var json = queryString(req.url);
  524. getmysql(req, res, "checkRoomNumByFile", json['num']);
  525. });
  526. //思维网格 根据房间号或者用户id查询房间信息
  527. router.route('/selectRoom').all((req, res, next) => {
  528. var json = queryString(req.url);
  529. getmysql(req, res, "selectRoom", json['uid']);
  530. });
  531. //协同编辑 根据房间号或者用户id查询房间信息
  532. router.route('/selectRoomByFile').all((req, res, next) => {
  533. var json = queryString(req.url);
  534. getmysql(req, res, "selectRoomByFile", json['uid']);
  535. });
  536. //思维网格 修改房间数据
  537. router.route('/updateRoomData').all((req, res, next) => {
  538. postmysql(req, res, "updateRoomData");
  539. });
  540. //思维网格 解散房间
  541. router.route('/dismiss').all((req, res, next) => {
  542. postmysql(req, res, "update_room");
  543. });
  544. queryString = function(url) {
  545. var a = url.split("?");
  546. var json = querystring.parse(a[1])
  547. return json;
  548. }
  549. //post存儲過程處理
  550. postmysql = function(req, res, functionname) {
  551. //mode的處理
  552. if (req.body[0]) {
  553. p = Object.values(req.body[0]);
  554. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  555. //執行存儲過程
  556. mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); });
  557. }
  558. }
  559. //get獲取數據庫信息
  560. getmysql = function(req, res, functionname, ...p) {
  561. p = p || [];
  562. p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname);
  563. //執行存儲過程
  564. mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); }); //
  565. }
  566. module.exports = router;