checkLogin.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * @Description: 检查用户是否已经登陆
  3. * @Autor: kindring
  4. * @Date: 2021-12-22 16:24:37
  5. * @LastEditors: kindring
  6. * @LastEditTime: 2022-01-26 14:07:50
  7. * @LastDescript:
  8. */
  9. const codeMap = require('../maps/rcodeMap');
  10. /**
  11. * 检查是否登录
  12. * @param {'json'|'view'} type 返回的数据类型
  13. * @returns
  14. */
  15. function checkLogin(type = 'json') {
  16. return function(req, res, next) {
  17. console.log('检查是否有登陆');
  18. if (!req.session.owner) {
  19. // 类型
  20. let resAction;
  21. switch (type) {
  22. case 'view':
  23. resAction = {
  24. action: 'redirect',
  25. params: [302, '/login']
  26. }
  27. break;
  28. case 'json':
  29. default:
  30. resAction = {
  31. action: 'json',
  32. params: [{
  33. rcode: codeMap.notLogin,
  34. msg: 'not login'
  35. }]
  36. }
  37. break;
  38. }
  39. return res[resAction.action](...resAction.params)
  40. }
  41. next();
  42. }
  43. }
  44. module.exports = checkLogin;