user_controller.js 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  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. class UserController extends BaseController {
  11. /**
  12. * 用户信息页面
  13. *
  14. * @param {object} request
  15. * @param {object} response
  16. * @return {void}
  17. */
  18. async info(request, response) {
  19. // 获取当前用户数据
  20. let sessionUser = request.session.sessionUser;
  21. let userModel = new UserModel();
  22. let userData = await userModel.findDataByName(sessionUser.username);
  23. userData = userData.length <= 0 ? [] : userData[0];
  24. let renderData = {
  25. userData: userData,
  26. provinceList: userModel.province,
  27. companyTypeList: userModel.companyType,
  28. companyScaleList: userModel.companyScale
  29. };
  30. response.render('users/html/user-info', renderData);
  31. }
  32. /**
  33. * 保存个人数据
  34. *
  35. * @param {object} request
  36. * @param {object} response
  37. * @return
  38. */
  39. async saveData(request, response) {
  40. try {
  41. let updateData = {
  42. real_name: request.body.real_name,
  43. province: request.body.province,
  44. company: request.body.company,
  45. company_type: request.body.company_type,
  46. company_scale: request.body.company_scale,
  47. area: request.body.area
  48. };
  49. let sessionUser = request.session.sessionUser;
  50. // 切换验证场景
  51. let userModel = new UserModel();
  52. let condition = {email: sessionUser.email};
  53. userModel.setScene('saveInfo');
  54. let result = await userModel.updateUser(condition, updateData);
  55. if (result.ok !== 1) {
  56. throw '用户数据保存失败';
  57. }
  58. } catch (error) {
  59. return response.redirect(request.headers.referer);
  60. }
  61. response.redirect('/pm');
  62. }
  63. /**
  64. * 账号安全页面
  65. *
  66. * @param {object} request
  67. * @param {object} response
  68. * @return {void}
  69. */
  70. async safe(request, response) {
  71. // 获取当前用户信息
  72. let sessionUser = request.session.sessionUser;
  73. let userModel = new UserModel();
  74. let userData = await userModel.findDataByName(sessionUser.username);
  75. userData = userData.length <= 0 ? [] : userData[0];
  76. let renderData = {
  77. userData: userData,
  78. };
  79. response.render('users/html/user-safe', renderData);
  80. }
  81. }
  82. export default UserController;