message_controller.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /**
  2. * 消息通知相关控制器
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/9/25
  6. * @version
  7. */
  8. import UserMessageModel from "../models/user_message_model";
  9. class MessageController {
  10. /**
  11. * 初始化函数
  12. * @param {object} request
  13. * @param {object} response
  14. * @param {Object} next
  15. * @return {void|Object}
  16. */
  17. init(request, response, next) {
  18. let responseData = {
  19. err: 0,
  20. msg: ''
  21. };
  22. try {
  23. // 所有接口都需要保证访问者是已登录状态
  24. let sessionUserData = request.session.sessionUser;
  25. if (sessionUserData === undefined || sessionUserData.id === undefined || sessionUserData.id === '') {
  26. throw '用户未登录';
  27. }
  28. next();
  29. } catch (error) {
  30. responseData.err = 1;
  31. responseData.msg = error;
  32. return response.json();
  33. }
  34. }
  35. /**
  36. * 获取消息列表数据
  37. *
  38. * @param {object} request
  39. * @param {object} response
  40. * @return {void}
  41. */
  42. async list(request, response) {
  43. let responseData = {
  44. err: 0,
  45. msg: ''
  46. };
  47. try {
  48. let sessionUserData = request.session.sessionUser;
  49. let userMessageModel = new UserMessageModel();
  50. let messageList = await userMessageModel.getList(sessionUserData.id, 15, {is_read: 1});
  51. if (messageList === null) {
  52. throw '获取数据失败!';
  53. }
  54. responseData.data = messageList;
  55. } catch (error) {
  56. console.log(error);
  57. responseData.err = 1;
  58. responseData.msg = error;
  59. }
  60. response.json(responseData);
  61. }
  62. /**
  63. * 获取详细的消息数据
  64. *
  65. * @param {object} request
  66. * @param {object} response
  67. * @return {void}
  68. */
  69. async detail(request, response) {
  70. let responseData = {
  71. err: 0,
  72. msg: ''
  73. };
  74. try {
  75. let sessionUserData = request.session.sessionUser;
  76. let id = request.body.id;
  77. let userMessageModel = new UserMessageModel();
  78. let messageData = await userMessageModel.getDetail(sessionUserData.id, id);
  79. if (messageData === null) {
  80. throw '获取数据失败!';
  81. }
  82. responseData.data = messageData;
  83. } catch (error) {
  84. console.log(error);
  85. responseData.err = 1;
  86. responseData.msg = error;
  87. }
  88. response.json(responseData);
  89. }
  90. /**
  91. *
  92. *
  93. * @param {object} request
  94. * @param {object} response
  95. * @return {void}
  96. */
  97. async allRead(request, response) {
  98. let responseData = {
  99. err: 0,
  100. msg: ''
  101. };
  102. try {
  103. let sessionUserData = request.session.sessionUser;
  104. let userMessageModel = new UserMessageModel();
  105. let result = await userMessageModel.setAllRead(sessionUserData.id);
  106. if (result === null) {
  107. throw '设置失败!';
  108. }
  109. } catch (error) {
  110. responseData.err = 1;
  111. responseData.msg = error;
  112. }
  113. response.json(responseData);
  114. }
  115. }
  116. export default MessageController;