index.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. /**
  2. * 用户注册登陆等
  3. */
  4. 'use strict';
  5. const express = require('express');
  6. const router = express.Router();
  7. const userService = require('../service/user/index');
  8. const settingService = require('../service/settings/index');
  9. router.get('/', function (req, res, next) {
  10. res.render('login');
  11. });
  12. router.get('/sessionLess', function (req, res, next) {
  13. res.render('session_less');
  14. });
  15. function getAllMenus(json, auth) {
  16. let allMenus = [];
  17. if (auth) {
  18. let flows = json['权限设置'];
  19. let set = new Set();
  20. if (auth.indexOf('&') != -1) { //多角色
  21. let roles = auth.split('&');
  22. for (let role in roles) {
  23. for (let flow in flows) {
  24. let menus = flows[flow][roles[role]];
  25. for (let menu in menus) {
  26. set.add(menus[menu]);
  27. }
  28. }
  29. }
  30. } else { //一个角色
  31. for (let flow in flows) {
  32. let menus = flows[flow][auth];
  33. for (let menu in menus) {
  34. set.add(menus[menu]);
  35. }
  36. }
  37. }
  38. allMenus = Array.from(set);
  39. }
  40. return allMenus;
  41. }
  42. router.post('/', function (req, res, next) {
  43. let params = req.body;
  44. userService.login(params.username, params.password, function (data) {
  45. if (data.rs) {
  46. settingService.getJsonFromFile(4, function (err, jsonRow) {
  47. let json = JSON.parse(jsonRow[0].value);
  48. req.session.userid = params.userid;
  49. req.session.username = params.username;
  50. req.session.auth = data.auth;
  51. let allMenus = getAllMenus(json, data.auth);
  52. // //console.log(allMenus);
  53. res.render('home', {menus: allMenus});// 默认不在显示首页,而是直接默认显示用户管理页面
  54. });
  55. } else {
  56. res.render('login', {'msg': data.ms});
  57. }
  58. });
  59. //if (params.username == 'admin' && params.password == '123456') {
  60. // res.redirect('user');// 默认不在显示首页,而是直接默认显示用户管理页面
  61. // //res.render('index', {user: {username: params.username}});
  62. //} else {
  63. // res.render('login', {'msg': '用户名密码错误'});
  64. //}
  65. });
  66. router.get('/logout', function (req, res, next) {
  67. req.session.destroy(function (err) {
  68. // cannot access session here
  69. res.redirect('/');
  70. });
  71. });
  72. router.get('/test', function (req, res, next) {
  73. res.render('test');
  74. });
  75. router.get('/test/screen', function (req, res, next) {
  76. res.render('test/screen');
  77. });
  78. router.get('/screen', function (req, res, next) {
  79. res.render('screen');
  80. });
  81. module.exports = router;