check.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. 'use strict';
  2. import AdminModel from '../models/admin/admin'
  3. class Check {
  4. constructor(){
  5. }
  6. async checkAdmin(req, res, next){
  7. const admin_id = req.session.admin_id;
  8. if (!admin_id || !Number(admin_id)) {
  9. res.send({
  10. status: 0,
  11. type: 'ERROR_SESSION',
  12. message: '亲,您还没有登录',
  13. })
  14. return
  15. }else{
  16. const admin = await AdminModel.findOne({id: admin_id});
  17. if (!admin) {
  18. res.send({
  19. status: 0,
  20. type: 'HAS_NO_ACCESS',
  21. message: '亲,您还不是管理员',
  22. })
  23. return
  24. }
  25. }
  26. next()
  27. }
  28. async checkSuperAdmin(req, res, next){
  29. const admin_id = req.session.admin_id;
  30. if (!admin_id || !Number(admin_id)) {
  31. res.send({
  32. status: 0,
  33. type: 'ERROR_SESSION',
  34. message: '亲,您还没有登录',
  35. })
  36. return
  37. }else{
  38. const admin = await AdminModel.findOne({id: admin_id});
  39. if (!admin || admin.status != 2) {
  40. res.send({
  41. status: 0,
  42. type: 'HAS_NO_ACCESS',
  43. message: '亲,您的权限不足',
  44. })
  45. return
  46. }
  47. }
  48. next()
  49. }
  50. }
  51. export default new Check()