// ROUTES FOR OUR API // ============================================================================= var express = require('express'); var bcrypt = require('bcryptjs'); var router = express.Router(); // get an instance of the express Router const querystring = require('querystring'); var mysql = require('./mysql'); const _mysqlLabor = ["10.3.16.226", "ssti_cm"]; //本地双创數據庫信息 // const _mysqlLabor = ["172.16.12.5", "pbl"]; //双创數據庫信息 var crypto = require('crypto'); var https = require('https'); //統壹處理區域 router.use(async function(req, res, next) { await asynnext(req, res, next); //// make sure we go to the next routes and don't stop here //res.end(""); }); /** * @des 參數解釋同上 */ function asynnext(req, res, next) { //異步處理 return new Promise(async(resolve, reject) => { next(); //resolve(true);aa }); } /*測試*/ router.route('/a').all((req, res, next) => { var json = GetData(req); getmysql(req, res, "a"); }); // router.route('/b').all((req, res, next) => { // postmysql(req, res, "b"); // }); //qgt 查看数据库是否有此人 router.use((req,res,next)=>{ const uid = GetData(req)['uid']; let p = [_mysqlLabor[0], _mysqlLabor[1], 'select_UserByUserId',uid]; mysql.usselect(p,function(result){ if(result[0].length==1){ next(); }else{ res.Back(1,"用户不存在",GetData(req)) } }) }) //qgt 新增全站通知 router.post('/CreateNewNotification',(req,res)=>{ //uid title brief const ReqData = GetData(req); //随机ID const nid = crypto.randomUUID({ disableEntropyCache: true }) let p = [_mysqlLabor[0], _mysqlLabor[1], 'insert_New',nid,ReqData['title'],ReqData['brief'],ReqData['uid'],getNowDate()]; mysql.usselect(p,function(result){ if(result==1){ res.Back(0,"添加成功",result) }else{ res.Back(1,"添加失败",result) } }) }) //qgt 获取全站通知 router.get('/SelectNotification',(req,res)=>{ //uid title nowPage lim const ReqData = GetData(req); let p = [_mysqlLabor[0], _mysqlLabor[1], 'select_NewByTitle',ReqData['title'],ReqData['nowPage'],ReqData['lim']]; mysql.usselect(p,function(result){ res.Back(0,"查询成功",result) }) }) //qgt 删除通知 router.post("/DeleteNotification",(req,res)=>{ //uid nid const ReqData = GetData(req); const p = [_mysqlLabor[0], _mysqlLabor[1], 'update_NewStatusById',ReqData['nid']]; mysql.usselect(p,(result)=>{ if(result==1){ res.Back(0,"成功删除一条通知",result); }else{ res.Back(1,"删除通知失败",result); } }) }) //qgt 获取消息通知详细 router.get("/SelectNotificationDetail",(req,res)=>{ //uid nid const ReqData = GetData(req); const p = [_mysqlLabor[0], _mysqlLabor[1], 'select_NewById',ReqData['nid']]; mysql.usselect(p,(result)=>{ if(result[0].length==1){ res.Back(0,"成功获取消息详细",result[0][0]); }else{ res.Back(1,"获取消息消息失败") } }) }) GetData = function(req) { var a = req.url.split("?"); var json = querystring.parse(a[1]) if(Object.keys(json).length!=0){ return json }else{ return req.body } } //post存儲過程處理 postmysql = function(req, res, functionname) { //mode的處理 if (req.body[0]) { p = Object.values(req.body[0]); p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname); //執行存儲過程 mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); }); } } //post存儲過程處理 postmysql2 = function(req, res, functionname) { //mode的處理 if (req.body) { p = Object.values(req.body)[0].split(","); p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname); //執行存儲過程 mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); }); } } //post存儲過程處理 postmysql3 = function(req, res, functionname) { //mode的處理 if (req.body) { p = Object.values(req.body); p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname); //執行存儲過程 mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); }); } } //get獲取數據庫信息 getmysql = function(req, res, functionname, ...p) { p = p || []; p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname); //執行存儲過程 mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); }); // } //post存储过程处理 userpostmysql = function(req, res, functionname) { //mode的处理 if (req.body.mode) { p = req.body.mode.split(","); p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname); //执行存储过程 mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); }); } } //get获取数据库信息 usergetmysql = function(req, res, functionname, ...p) { p = p || []; p.unshift(_mysqlLabor[0], _mysqlLabor[1], functionname); //执行存储过程 mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); }); // } // //获取请求数据 // function GetData(req){ // if(req.body['uid']==null){ // return req.query // }else{ // return req.body // } // // return req.query | req.body; // // if(req.method =='POST'){ // // return req.body; // // }else if(req.method =="GET"){ // // return req.query; // // } // } //获取当前时间 function getNowDate() { let date = new Date(); let year = date.getFullYear(); //年 let month = date.getMonth() + 1; //月 let day = date.getDate(); //日 let hour = date.getHours(); //时 let minutes = date.getMinutes(); //分 let seconds = date.getSeconds(); //秒 if (month > 1 && month <= 9) month = "0" + month; if (day > 0 && day <= 9) day = "0" + day; if (hour > 0 && hour < 9) hour = "0" + hour; if (minutes > 0 && minutes <= 9) minutes = "0" + minutes; if (seconds > 0 && seconds < 9) seconds = "0" + seconds; return `${year}-${month}-${day} ${hour}:${minutes}:${seconds}`; } module.exports = router;