user_controller.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. /**
  2. * 用户相关控制器
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/6/13
  6. * @version
  7. */
  8. import UserModel from "../models/user_model";
  9. import BaseController from "../../common/base/base_controller";
  10. import LogType from "../../common/const/log_type_const";
  11. import LogModel from "../models/log_model";
  12. class UserController extends BaseController {
  13. /**
  14. * 用户信息页面
  15. *
  16. * @param {object} request
  17. * @param {object} response
  18. * @return {void}
  19. */
  20. async info(request, response) {
  21. // 获取当前用户数据
  22. let sessionUser = request.session.sessionUser;
  23. let userModel = new UserModel();
  24. let userData = await userModel.findDataByName(sessionUser.username);
  25. userData = userData.length <= 0 ? [] : userData[0];
  26. let renderData = {
  27. userData: userData,
  28. provinceList: userModel.province,
  29. companyTypeList: userModel.companyType,
  30. companyScaleList: userModel.companyScale
  31. };
  32. response.render('users/html/user-info', renderData);
  33. }
  34. /**
  35. * 保存个人数据
  36. *
  37. * @param {object} request
  38. * @param {object} response
  39. * @return
  40. */
  41. async saveData(request, response) {
  42. try {
  43. let updateData = {
  44. real_name: request.body.real_name,
  45. province: request.body.province,
  46. company: request.body.company,
  47. company_type: request.body.company_type,
  48. company_scale: request.body.company_scale,
  49. area: request.body.area
  50. };
  51. let sessionUser = request.session.sessionUser;
  52. // 切换验证场景
  53. let userModel = new UserModel();
  54. let condition = {email: sessionUser.email};
  55. userModel.setScene('saveInfo');
  56. let result = await userModel.updateUser(condition, updateData);
  57. if (result.ok !== 1) {
  58. throw '用户数据保存失败';
  59. }
  60. } catch (error) {
  61. return response.redirect(request.headers.referer);
  62. }
  63. response.redirect('/pm');
  64. }
  65. /**
  66. * 账号安全页面
  67. *
  68. * @param {object} request
  69. * @param {object} response
  70. * @return {void}
  71. */
  72. async safe(request, response) {
  73. let userData = [];
  74. let logList = [];
  75. let pageData = {};
  76. try {
  77. // 获取当前用户信息
  78. let sessionUser = request.session.sessionUser;
  79. let userModel = new UserModel();
  80. userData = await userModel.findDataByName(sessionUser.username);
  81. userData = userData.length <= 0 ? [] : userData[0];
  82. let page = request.query.page === undefined ? 1 : request.query.page;
  83. // 获取登录信息
  84. let logModel = new LogModel();
  85. let logCount = await logModel.count();
  86. let pageSize = 3;
  87. logList = await logModel.getLog(sessionUser.id, LogType.LOGIN_LOG, page, pageSize);
  88. // 分页数据
  89. pageData = {
  90. current: page,
  91. total: parseInt(logCount / pageSize),
  92. queryData: response.locals.urlQuery
  93. };
  94. } catch (error) {
  95. console.log(error);
  96. }
  97. let renderData = {
  98. userData: userData,
  99. logList: logList,
  100. pages: pageData
  101. };
  102. response.render('users/html/user-safe', renderData);
  103. }
  104. }
  105. export default UserController;