manager_controller.js 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. /**
  2. * 后台用户管理控制器
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/6/2
  6. * @version
  7. */
  8. import BaseController from "../../common/base/base_controller";
  9. import ManagerModel from "../models/manager_model";
  10. import Config from "../../../config/config";
  11. class ManagerController extends BaseController {
  12. /**
  13. * 账号管理(管理员列表)
  14. *
  15. * @param {object} request
  16. * @param {object} response
  17. * @return {void}
  18. */
  19. async index(request, response) {
  20. let pageData = {};
  21. let managerList = [];
  22. try {
  23. // 查找管理员用户列表
  24. let managerModel = new ManagerModel();
  25. let total = await managerModel.count();
  26. // 分页数据
  27. let page = request.query.page === undefined ? 1 : request.query.page;
  28. pageData = {
  29. current: page,
  30. total: parseInt(total / Config.pageSize),
  31. queryData: response.locals.urlQuery
  32. };
  33. // 获取管理员列表
  34. managerList = await managerModel.getList(null, page);
  35. // 整理数据
  36. if (managerList.length > 0) {
  37. for (let tmp in managerList) {
  38. let permission = managerList[tmp].permission;
  39. permission = permission.split(',');
  40. if (permission.length <= 0) {
  41. continue;
  42. }
  43. let permissionString = [];
  44. for (let name of permission) {
  45. if (managerModel.permission[name] === undefined) {
  46. continue;
  47. }
  48. permissionString.push(managerModel.permission[name]);
  49. }
  50. permissionString = permissionString.join(',');
  51. managerList[tmp].permissionStr = permissionString;
  52. }
  53. }
  54. } catch (error) {
  55. }
  56. let renderData = {
  57. managerList: managerList,
  58. pages: pageData,
  59. layout: 'users/views/layout/layout',
  60. };
  61. response.render('users/views/manager/index', renderData);
  62. }
  63. /**
  64. * 保存管理员
  65. *
  66. * @param {object} request
  67. * @param {object} response
  68. * @return {void}
  69. */
  70. async modify(request, response) {
  71. let permission = request.body.permission;
  72. let canLogin = request.body.login;
  73. let id = request.params.id;
  74. let responseData = {
  75. err: 0,
  76. msg: ""
  77. };
  78. try {
  79. if (id === '' || id === undefined) {
  80. throw 'id有误';
  81. }
  82. let managerModel = new ManagerModel();
  83. let result = await managerModel.updateById(id, {permission: permission, can_login: canLogin});
  84. if (!result) {
  85. throw '修改失败';
  86. }
  87. } catch (error) {
  88. responseData.err = 1;
  89. responseData.msg = error;
  90. }
  91. response.json(responseData);
  92. }
  93. /**
  94. * 删除管理员
  95. *
  96. * @param {object} request
  97. * @param {object} response
  98. * @return {void}
  99. */
  100. async delete(request, response) {
  101. let id = request.params.id;
  102. let managerModel = new ManagerModel();
  103. let result = await managerModel.deleteById(id, true);
  104. // 删除成功
  105. if (result) {
  106. }
  107. response.redirect(request.headers.referer);
  108. }
  109. /**
  110. * 超级管理员修改
  111. *
  112. * @param {object} request
  113. * @param {object} response
  114. * @return {void}
  115. */
  116. async admin(request, response) {
  117. let adminData = {};
  118. try {
  119. // 查找对应超级管理员数据
  120. let managerModel = new ManagerModel();
  121. adminData = await managerModel.findDataByCondition({username: 'admin'});
  122. } catch (error) {
  123. console.log(error);
  124. }
  125. let renderData = {
  126. adminData: adminData,
  127. layout: 'users/views/layout/layout'
  128. };
  129. response.render('users/views/manager/save', renderData);
  130. }
  131. /**
  132. * 超级管理员修改提交
  133. *
  134. * @param {object} request
  135. * @param {object} response
  136. * @return
  137. */
  138. async adminSubmit(request, response) {
  139. let newPassword = request.body.newPassword.toString();
  140. let password = request.body.password.toString();
  141. let managerModel = new ManagerModel();
  142. let responseData = {
  143. err: 0,
  144. msg: ''
  145. };
  146. try {
  147. if (!newPassword || !password) {
  148. throw '内容有误';
  149. }
  150. // 更改密码操作
  151. managerModel.setScene('changPassword');
  152. let result = await managerModel.changePassword('admin', password, newPassword);
  153. if (!result) {
  154. throw '更新错误';
  155. }
  156. } catch (error) {
  157. console.log(error);
  158. responseData.err = 40002;
  159. responseData.msg = error;
  160. }
  161. response.json(responseData);
  162. }
  163. async create(request, response) {
  164. let managerModel = new ManagerModel();
  165. let result = managerModel.changePassword('admin', 'admin123', 'admin123');
  166. // let result = await managerModel.createManager();
  167. response.end('success');
  168. }
  169. }
  170. export default ManagerController;