1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 'use strict';
- /**
- * 账号相关控制器
- *
- * @author CaiAoLin
- * @date 2018/1/26
- * @version
- */
- module.exports = app => {
- class ProfileController extends app.BaseController {
- /**
- * 账号资料页面
- *
- * @param {Object} ctx - egg全局变量
- * @return {void}
- */
- async info(ctx) {
- // 获取当前用户数据
- const sessionUser = ctx.session.sessionUser;
- // 获取账号数据
- const accountData = await ctx.service.projectAccount.getDataByCondition({ id: sessionUser.accountId });
- // 获取基础数据的字段规则
- let baseRule = ctx.service.projectAccount.rule('profileBase');
- baseRule = ctx.helper.validateConvert(baseRule);
- const renderData = {
- accountData,
- baseRule: JSON.stringify(baseRule),
- };
- await this.layout('profile/info.ejs', renderData);
- }
- /**
- * 保存基本信息
- *
- * @param {Object} ctx - egg全局变量
- * @return {void}
- */
- async saveBase(ctx) {
- try {
- // 获取当前用户数据
- const sessionUser = ctx.session.sessionUser;
- // 获取基础数据的字段规则
- const baseRule = ctx.service.projectAccount.rule('profileBase');
- ctx.helper.validate(baseRule);
- const result = await ctx.service.projectAccount.save(ctx.request.body, sessionUser.accountId);
- if (!result) {
- throw '保存信息失败';
- }
- this.setMessage('修改成功', this.messageType.SUCCESS);
- } catch (error) {
- console.log(error);
- this.setMessage(error.toString(), this.messageType.ERROR);
- }
- ctx.redirect(ctx.request.headers.referer);
- }
- }
- return ProfileController;
- };
|