// 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 = ["123.58.32.151", "pbl"]; //edu數據庫信息 const _mysqlLabor = ["172.16.12.5", "pbl"]; //edu數據庫信息 //統壹處理區域 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 = queryString(req.url); getmysql(req, res, "a", json['ph'], json['pa']); }); router.route('/b').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "b", json['ph'], json['pa']); }); /* 注册接口 */ router.route('/register').post(function(req, res, next) { //mode的处理 if (req.body[0]) { // 0 用户名 1 用户密码 2用户身份 3 第三方id(可有可无) p = Object.values(req.body[0]); //获取用户密码 //没有第三方id的处理 // if (p.length < 4) { // p.push("") // } p[1] = bcrypt.hashSync(p[1], bcrypt.genSaltSync(10)); //密码加密 // bcrypt.hash(p[1], 10, function (err, hash) { // if (err) { // return next(err); // } // p[1] = hash; // }); //参数拼接,注册 p.unshift(_mysqlLabor[0], _mysqlLabor[1], "register"); //返回注册用户数据 // mysql.usselect(p, function (ret) { // res.end(ret); // }); mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); }); } }); /*登录接口*/ router.route('/login').all((req, res, next) => { //mode的处理 if (req.body[0]) { // 0 用户名 1 用户密码 c = Object.values(req.body[0]); //获取用户密码 p = [c[0]] // p[1] = bcrypt.hashSync(p[1], bcrypt.genSaltSync(10)); var _password = [c[0]]; _password.unshift(_mysqlLabor[0], _mysqlLabor[1], "selectPassword"); mysql.usselect(_password, function(ret) { var _ret = ret var paJ = _ret[0][0].userpassword bcrypt.compare(c[1], paJ, function(err, result) { // console.log(result) if (result) { //参数拼接,登录 p.unshift(_mysqlLabor[0], _mysqlLabor[1], "selectLogin"); //执行存储过程 mysql.usselect(p, function(ret) { res.end(JSON.stringify({ status: "1", ...ret })); }); } else { res.end(JSON.stringify([{ status: "0" }])); } }) }); // console.log(isEqual) } }); /* 找寻重复手机号 */ router.route('/findPhone').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "findPhone", json['un']); }); /* 新增班级 */ router.route('/insertClass').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "insertClass", json['name'], json['oid'], json['uid']); }); /* 查询班级 */ router.route('/selectClass').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectClass", json['cu'], json['oid'], json['cn'], json['page'], 10); }); /* 删除班级 */ router.route('/deleteClass').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "deleteClass", json['id']); }); /* 查询学校 */ router.route('/selectOrg').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectOrg"); }); /* 新增学生 */ router.route('/insertStudent').all((req, res, next) => { var json = queryString(req.url); json['userpassword'] = bcrypt.hashSync(json['userpassword'], bcrypt.genSaltSync(10)) getmysql(req, res, "insertStudent", json['ph'], json['username'], json['userpassword'], json['type'], json['oid'], json['tid'], json['cid']); }); // /* 新增学生 */ // router.route('/iStudent').all((req, res, next) => { // var json = queryString(req.url); // json['userpassword'] = bcrypt.hashSync(json['userpassword'], bcrypt.genSaltSync(10)) // getmysql(req, res, "insertStudent", json['ph'], json['username'], json['userpassword'], json['type'], json['oid'], json['tid'], json['cid']); // }); /* 查询学生 */ router.route('/selectStudent').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectStudent", json['uid'], json['cu'], json['cn'], json['page'], 10); }); /* 查询班级是否有重复 */ router.route('/selectC').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectC", json['className']); }); /* 查询学校是否有重复 */ router.route('/selectS').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectS", json['schoolName']); }); /* 修改个人信息 */ router.route('/updateUser').all((req, res, next) => { postmysql(req, res, "updateUser"); }); //查询老师的信息 router.route('/getUser').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectUserDeail", json['uid']); }); router.route('/selectUser').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectUser",json['userid']); }); //查询教师端消息 router.route('/getNewsTeacher').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectNew", json['uid'], json['page'], 10); }); //查询通知详情 router.route('/selectNewDetail').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectNewDetail", json['nid']); }); //查出分组分类 router.route('/getGroup').all((req, res, next) => { getmysql(req, res, "selectGroupTeacher"); }); //查询这个老师底下的学生提交的作业 router.route('/getWorks').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectWorks", json['cn'], json['cid'], json['page'], 10); }); //查询项目 router.route('/getProject').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectProject", json['type'], json['uid'], json['oid'], json['cn'], json['page'], 10); }); //查询项目成员 router.route('/selectProjectStudent').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_student", json['cn'], json['oid'], json['uid']); }); //新增课程 router.route('/addWork').all((req, res, next) => { postmysql(req, res, "insert_teacher_work"); }); router.route('/addWorkNew').all((req, res, next) => { // postmysql(req, res, "insert_teacher_work_new"); if (req.body[0]) { // p = Object.values(req.body[0]); p = [req.body[0].uid, req.body[0].title, req.body[0].brief, req.body[0].cover, req.body[0].astudent, req.body[0].see, req.body[0].chapters, req.body[0].template]; p.unshift(_mysqlLabor[0], _mysqlLabor[1], "insert_teacher_work_new"); //執行存儲過程 mysql.usselect(p, function(ret) { let course = req.body[0].courseType; let courseId = ret[0][0].courseId; let userid = req.body[0].uid; delCourseType(course, courseId, userid); res.end(JSON.stringify({ ordernumber: ret[0][0].ordernumber, success: 1 })); // res.end(JSON.stringify(ret)); }); } }); function delCourseType(course, courseId, userid) { let _courseId = courseId; var _userdata = [ _courseId ]; _userdata.unshift(_mysqlLabor[0], _mysqlLabor[1], "delete_courseType"); mysql.usselect(_userdata, function(ret) { console.log(ret); }); setTimeout(() => { addCourseType(userid, course, _courseId) }, 1000); } function addCourseType(userid, course, _courseId) { var _uid = userid; var _courses = _courseId var _tid = JSON.parse(course) for (let i = 0; i < _tid.length; i++) { if (_tid[i] == '') { continue; } var _userdata = [ _courses, _tid[i], _uid, ]; _userdata.unshift(_mysqlLabor[0], _mysqlLabor[1], "add_courseType"); mysql.usselect(_userdata, function(ret) { console.log(ret); }); } } //修改课程 // router.route('/updateWork').all((req, res, next) => { // postmysql(req, res, "update_teacher_work"); // }); router.route('/updateWorkNew').all((req, res, next) => { if (req.body[0]) { // p = Object.values(req.body[0]); p = [req.body[0].cid, req.body[0].title, req.body[0].brief, req.body[0].cover, req.body[0].astudent, req.body[0].see, req.body[0].chapters, req.body[0].template]; p.unshift(_mysqlLabor[0], _mysqlLabor[1], "update_teacher_work_new"); //執行存儲過程 mysql.usselect(p, function(ret) { let course = req.body[0].courseType; let courseId = req.body[0].cid; let userid = req.body[0].uid; delCourseType(course, courseId, userid); res.end(JSON.stringify({ success: 1 })); // res.end(JSON.stringify(ret)); }); } }); //查询课程 // router.route('/selectCourse').all((req, res, next) => { // var json = queryString(req.url); // getmysql(req, res, "select_course", json['type'], json['uid'], json['oid'], json['page'], 10); // }); router.route('/selectCourseNew').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_course_new", json['type'], json['uid'], json['oid'], json['typea'], json['typeb'], json['typec'], json['typed'], json['typeE'], json['cu'], json['cn'], json['page'], 10); }); //查询学校 router.route('/selectSchoolName').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectOidName", json['oid']); }); //删除学生 router.route('/deleteStudent').all((req, res, next) => { postmysql(req, res, "delete_student"); }); //查询学校底下的班级 router.route('/selectClassBySchool').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectClassBySchool", json['oid']); }); //学生注册接口 router.route('/register_student').post(function(req, res, next) { //mode的处理 if (req.body[0]) { // 0 用户名 1 用户密码 2用户身份 3 第三方id(可有可无) p = Object.values(req.body[0]); //获取用户密码 //没有第三方id的处理 // if (p.length < 4) { // p.push("") // } p[1] = bcrypt.hashSync(p[1], bcrypt.genSaltSync(10)); //密码加密 // bcrypt.hash(p[1], 10, function (err, hash) { // if (err) { // return next(err); // } // p[1] = hash; // }); //参数拼接,注册 p.unshift(_mysqlLabor[0], _mysqlLabor[1], "register_student"); //返回注册用户数据 // mysql.usselect(p, function (ret) { // res.end(ret); // }); mysql.usselect(p, function(ret) { res.end(JSON.stringify(ret)); }); } }); //查询课程详情 router.route('/selectCourseDetail').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectCourseDetail", json['courseId']); }); //跳转阶段时,如果有课程就查询1返回,如果没有就插入 router.route('/addUserR').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "insertUserR", json['uid'], json['cid']); }); //新增学生端作业 router.route('/addWorks').all((req, res, next) => { postmysql(req, res, "add_works"); }); //查询作业详情 router.route('/selectWorksDetail').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectWorksDetail", json['uid'], json['cid']); }); //新增作业评分 router.route('/updateWorks').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "updateWorks", json['rate'], json['tuid'], json['id']); }); //新增素材信息 router.route('/addMtl').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "add_mtl", json['cInfo'], json['t'], json['cBy']); }); //根据类型查询素材信息 router.route('/selectMtl').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectMtl", json['t'], json['page'], 10); }); //查询学生信息 router.route('/selectSDetail').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectStudentDetail", json['uid']); }); //查询个人课程 router.route('/selectMyCourse').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectMyCourse", json['uid']); }); //查询个人课程groupby课程id router.route('/selectMyCourseBycid').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectMyCourseBycid", json['uid']); }); //查询所有课程 router.route('/selectAllCourse').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectAllCourse", json['oid'], json['page'], 10); }); //删除素材 router.route('/deleteM').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "deleteM", json['id']); }); //点击阶段时添加观看人数 router.route('/updateVc').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "updateVc", json['cid']); }); //删除课程 router.route('/deleteCourse').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "deleteCourse", json['cid']); }); //查看课程 router.route('/select_course_detail').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_course_detail", json['cid']); }); //模糊查找课程 // router.route('/searchCourse').all((req, res, next) => { // var json = queryString(req.url); // getmysql(req, res, "searchCourse", json['cu'], json['cn'], json['page'], 10); // }); //创建调查问卷 router.route('/addAsk').all((req, res, next) => { postmysql(req, res, "insert_ask"); }); //学生提交问卷 router.route('/addAskList').all((req, res, next) => { postmysql(req, res, "insert_askList"); }); //获取调查问卷 router.route('/getAsk').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_ask", json['uid'], json['page'], 10); }); //问卷调查数据统计 router.route('/getAskListByAskid').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_askListByAskid", json['aid']); }); //删除学生提交问卷 router.route('/deleteAskList').all((req, res, next) => { postmysql(req, res, "update_askList_delete"); }); //根据id获取调查问卷 router.route('/getAskList').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_askList", json['uid'], json['page'], 10); }); //查看便签列表 router.route('/selectNote').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectNote", json['uid']); }); //新增便签列表 router.route('/insertNote').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "insertNote", json['uid'], json['c']); }); //根据便签id修改便签内容 router.route('/updateNote').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "updateNote", json['nid'], json['c']); }); //删除便签 router.route('/deleteNote').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "deleteNote", json['nid']); }); //查询便签 router.route('/selectNoteContent').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectNoteContent", json['cn']); }); router.route('/updateUserByEdu').all((req, res, next) => { postmysql(req, res, "updateUserByEdu"); }); router.route('/selectUser').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectUser", json['userid']); }); router.route('/selectType').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectType", ); }); router.route('/selectTypeByPid').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectTypeByPid", json['pid']); }); //lsc //admin 查询学校 router.route('/getSchoolAdmin').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_school", json['page'], 10); }); //admin 添加学校 router.route('/addSchoolAdmin').all((req, res, next) => { postmysql(req, res, "add_school"); }); //admin 删除学校 router.route('/deleteSchoolAdmin').all((req, res, next) => { postmysql(req, res, "delete_school"); }); //admin 查询班级 router.route('/getClassAdmin').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_classAdmin", json['cn'], json['page'], 10); }); //admin 添加班级 router.route('/addClassAdmin').all((req, res, next) => { postmysql(req, res, "add_classAdmin"); }); //admin 查询班级是否重复 router.route('/getClassRepeat').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_classRepeatAdmin", json['n'], json['oid']); }); //admin 发布通知 router.route('/addNews').all((req, res, next) => { postmysql(req, res, "add_news"); }); //admin 删除通知 router.route('/deleteNews').all((req, res, next) => { postmysql(req, res, "delete_news"); }); //admin 添加banner router.route('/addBanner').all((req, res, next) => { postmysql(req, res, "add_banner"); }); //admin 添加banner router.route('/deleteBanner').all((req, res, next) => { postmysql(req, res, "delete_banner"); }); //admin 查询banner router.route('/getBanner').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_banner"); }); //admin 查询课程getSearchCourse router.route('/getSearchCourse').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectAll_courseSearch", json['t']); }); //admin 查询所有课程专区 router.route('/getZone').all((req, res, next) => { getmysql(req, res, "select_zone"); }); //admin 添加课程专区 router.route('/addZone').all((req, res, next) => { postmysql(req, res, "insert_classZone"); }); //查询所有课程专区下的课程 router.route('/getZoneClass').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_zoneClass", json['bid'], json['oid'], json['page'], 10); }); //查询所有课程专区下的课程 router.route('/getZoneClassStudent').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_zoneClass", json['bid'], json['oid'], json['page'], 20); }); //admin 后台查看专区下课程的数量 router.route('/getZoneClassNum').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_zoneClassNum", json['bid']); }); //admin 后台添加课程专区时查看课程是否在此专区重复 router.route('/getZoneClassRepeat').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_zoneClassRepeat", json['pid'], json['cid']); }); //把课程添加进专区 router.route('/addZoneCourse').all((req, res, next) => { postmysql(req, res, "insert_app"); }); //admin 删除课程专区底下的课程 router.route('/deleteZoneCourse').all((req, res, next) => { postmysql(req, res, "delete_app"); }); //admin 删除班级 router.route('/deleteZone').all((req, res, next) => { postmysql(req, res, "delete_zone"); }); //admin 后台专区上移下移 router.route('/zoneRank').all((req, res, next) => { postmysql(req, res, "update_classRank"); }); //admin 添加模板文档 router.route('/addTemplateAdmin').all((req, res, next) => { postmysql(req, res, "add_template"); }); //admin 添加模板文档 router.route('/deleteTemplateAdmin').all((req, res, next) => { postmysql(req, res, "delete_template"); }); //admin 查询模板文档 router.route('/getTemplateAdmin').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_template", json['page'], 10); }); //admin 查询课程 router.route('/getCourseAdmin').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_courseAdmin", json['cn'], json['page'], 10); }); //admin 查询模板文档 router.route('/deleteCourseAdmin').all((req, res, next) => { postmysql(req, res, "delete_courseAdmin", ); }); //teacher 查询模板 router.route('/getTemplateT').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "select_templateT"); }); //思维网格 创建房间 router.route('/insertRoom').all((req, res, next) => { postmysql(req, res, "insertRoom"); }); //协同编辑 创建房间 router.route('/insertRoomByFile').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "insertRoomByFile",json["uid"],json["n"],json["d"]); }); //思维网格 查询是否是重复房间号 router.route('/checkRoomNum').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "checkRoomNum", json['num']); }); //协同编辑 查询是否是重复房间号 router.route('/checkRoomNumByFile').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "checkRoomNumByFile", json['num']); }); //思维网格 根据房间号或者用户id查询房间信息 router.route('/selectRoom').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectRoom", json['uid']); }); //协同编辑 根据房间号或者用户id查询房间信息 router.route('/selectRoomByFile').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "selectRoomByFile", json['uid']); }); //思维网格 修改房间数据 router.route('/updateRoomData').all((req, res, next) => { postmysql(req, res, "updateRoomData"); }); router.route('/updateFileData').all((req, res, next) => { var json = queryString(req.url); getmysql(req, res, "updateFileData", json['d'], json['id']); }); //思维网格 解散房间 router.route('/dismiss').all((req, res, next) => { postmysql(req, res, "update_room"); }); queryString = function(url) { var a = url.split("?"); var json = querystring.parse(a[1]) return json; } //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)); }); } } //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)); }); // } module.exports = router;