1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- 'use strict';
- /**
- * 账号管理相关控制器
- *
- * @author CaiAoLin
- * @date 2018/1/23
- * @version
- */
- const permission = require('../../config/permission');
- module.exports = app => {
- class AccountController extends app.BaseController {
- /**
- * 账号管理页面
- *
- * @param {Object} ctx - egg全局变量
- * @return {void}
- */
- async index(ctx) {
- try {
- const sessionProject = ctx.session.sessionProject;
- // 获取当前项目的用户列表
- const accountList = await ctx.service.projectAccount.getAccountByProjectId(sessionProject.id);
- const renderData = {
- accountList,
- permissionList: JSON.stringify(permission.permissionList),
- permissionString: JSON.stringify(permission.permissionString),
- };
- await this.layout('account/index.ejs', renderData);
- } catch (error) {
- this.setMessage(error.toString(), this.messageType.ERROR);
- ctx.redirect(ctx.request.header.referer);
- }
- }
- /**
- * 停用/启用操作
- *
- * @param {Object} ctx - egg全局变量
- * @return {void}
- */
- async enable(ctx) {
- let accountId = ctx.params.accountId;
- try {
- accountId = parseInt(accountId);
- if (isNaN(accountId) || accountId <= 0) {
- throw '参数错误!';
- }
- const result = await ctx.service.projectAccount.enableAccount(accountId);
- if (!result) {
- throw '设置失败';
- }
- this.setMessage('设置成功', this.messageType.SUCCESS);
- } catch (error) {
- this.setMessage(error.toString(), this.messageType.ERROR);
- }
- ctx.redirect(ctx.request.header.referer);
- }
- /**
- * 保存用户权限
- *
- * @param {Object} ctx - egg全局变量
- * @return {void}
- */
- async savePermission(ctx) {
- let accountId = ctx.params.accountId;
- const permission = ctx.request.body.permission;
- const response = {
- err: 0,
- msg: '',
- };
- try {
- accountId = parseInt(accountId);
- if (isNaN(accountId) || accountId <= 0 || permission === '') {
- throw '参数错误';
- }
- const result = await ctx.service.projectAccount.save({ permission }, accountId);
- if (!result) {
- throw '保存权限错误';
- }
- } catch (error) {
- response.err = 1;
- response.msg = error;
- }
- ctx.body = response;
- }
- }
- return AccountController;
- };
|