manager_controller.js 5.5 KB

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