users.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. const router = require('express').Router();
  2. const userApi = require('./userApi');
  3. const progress = require("../maps/progress");
  4. const code = require("../maps/rcodeMap");
  5. const paramsCheck = require('../middleware/paramsCheck')
  6. const c_user = require("../controller/account");
  7. const fields = require("../maps/field");
  8. /* 登录页面, . */
  9. router.get('/', function(req, res, next) {
  10. res.send('respond with a resource');
  11. });
  12. router.get('/logout',(req,res)=>{
  13. try{
  14. console.log('退出登陆')
  15. req.session[progress.userSessionField] = null;
  16. res.redirect(302,progress.userLoginUrl)
  17. }catch (error) {
  18. if (error.rcode !== code.customError) {
  19. console.log(error);
  20. console.log.error(`logout error ${error.message||error.msg}`);
  21. }
  22. res.json({
  23. rcode: error.rcode || code.serverError,
  24. msg: error.msg || error.message
  25. });
  26. }
  27. });
  28. router.post('/register',
  29. paramsCheck({
  30. post: {
  31. nickName:{required:true},
  32. account:{required:true},
  33. passwd:{required:true},
  34. captcha:{required:true}
  35. }
  36. }),
  37. async(req,res)=>{
  38. try{
  39. if (req.body.captcha.toLowerCase() != req.session.captcha) return res.json({rcode: code.customError, msg: `验证码错误,captcha error` });
  40. let results = await c_user.register(fields.userType,
  41. req.body.account,req.body.passwd,req.body.nickName);
  42. res.json({
  43. rcode: code.ok,
  44. data: results
  45. })
  46. }catch (error) {
  47. if (error.rcode !== code.customError) {
  48. console.log(error);
  49. }
  50. res.json({
  51. rcode: error.rcode || code.serverError,
  52. msg: error.msg || error.message
  53. });
  54. }
  55. });
  56. router.post('/login',
  57. paramsCheck({
  58. post: {
  59. account:{required:true},
  60. passwd:{required:true}
  61. }
  62. }),
  63. async(req,res)=>{
  64. try{
  65. if (req.body.captcha.toLowerCase() != req.session.captcha) return res.json({rcode: code.customError, msg: `验证码错误,captcha error` });
  66. let result = await c_user.login(fields.userType,req.body.account,req.body.passwd);
  67. req.session[progress.userSessionField] = result.account;
  68. res.json({
  69. rcode: code.ok,
  70. data: result.account
  71. })
  72. }catch (error) {
  73. if (error.rcode !== code.customError) {
  74. console.log(error);
  75. }
  76. res.json({
  77. rcode: error.rcode || code.serverError,
  78. msg: error.msg || error.message
  79. });
  80. }
  81. });
  82. router.use('/api',userApi)
  83. module.exports = router;