user_controller.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /**
  2. * 用户相关控制器
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/6/13
  6. * @version
  7. */
  8. import UserModel from "../models/user_model";
  9. class UserController {
  10. /**
  11. * 用户信息页面
  12. *
  13. * @param {object} request
  14. * @param {object} response
  15. * @return {void}
  16. */
  17. async info(request, response) {
  18. // 获取当前用户数据
  19. let sessionUser = request.session.sessionUser;
  20. let userModel = new UserModel();
  21. let userData = await userModel.findDataByName(sessionUser.username);
  22. userData = userData.length <= 0 ? [] : userData[0];
  23. let renderData = {
  24. userData: userData,
  25. provinceList: userModel.province,
  26. companyTypeList: userModel.companyType,
  27. companyScaleList: userModel.companyScale
  28. };
  29. response.render('users/html/user-info', renderData);
  30. }
  31. /**
  32. * 保存个人数据
  33. *
  34. * @param {object} request
  35. * @param {object} response
  36. * @return
  37. */
  38. async saveData(request, response) {
  39. try {
  40. if (request.body.real_name === undefined || request.body.real_name === '' ||
  41. request.body.province === undefined || request.body.province === '' ||
  42. request.body.company === undefined || request.body.company === '') {
  43. throw '缺少数据';
  44. }
  45. let updateData = {
  46. real_name: request.body.real_name,
  47. province: request.body.province,
  48. company: request.body.company,
  49. company_type: request.body.company_type,
  50. company_scale: request.body.company_scale
  51. };
  52. let sessionUser = request.session.sessionUser;
  53. let userModel = new UserModel();
  54. let condition = {email: sessionUser.email};
  55. let result = await userModel.updateUser(condition, updateData);
  56. if (result.ok !== 1) {
  57. throw '用户数据保存失败';
  58. }
  59. } catch (error) {
  60. return response.redirect(request.headers.referer);
  61. }
  62. response.redirect('/pm');
  63. }
  64. /**
  65. * 账号安全页面
  66. *
  67. * @param {object} request
  68. * @param {object} response
  69. * @return {void}
  70. */
  71. async safe(request, response) {
  72. // 获取当前用户信息
  73. let sessionUser = request.session.sessionUser;
  74. let userModel = new UserModel();
  75. let userData = await userModel.findDataByName(sessionUser.username);
  76. userData = userData.length <= 0 ? [] : userData[0];
  77. let renderData = {
  78. userData: userData,
  79. };
  80. response.render('users/html/user-safe', renderData);
  81. }
  82. }
  83. export default UserController;