12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- 'use strict';
- /**
- * 控制器基类
- *
- * @author CaiAoLin
- * @date 2017/10/11
- * @version
- */
- const moment = require('moment');
- const Controller = require('egg').Controller;
- const menuList = require('../../config/menu');
- class BaseController extends Controller {
- /**
- * 构造函数
- *
- * @param {Object} ctx - egg全局context
- * @return {void}
- */
- constructor(ctx) {
- super(ctx);
- ctx.menuList = menuList;
- ctx.menu = menuList[ctx.controllerName] ? menuList[ctx.controllerName] : {};
- ctx.title = ctx.menu.name ? ctx.menu.name : '';
- }
- /**
- * 渲染layout
- *
- * @param {String} view - 渲染的view
- * @param {Object} data - 渲染的数据
- * @param {String} modal - 渲染的modal
- * @return {void}
- */
- async layout(view, data = {}, modal = '') {
- data.moment = moment;
- const contentString = await this.ctx.renderView(view, data);
- const modalString = modal === '' ? '' : await this.ctx.renderView(modal, data);
- const renderData = {
- content: contentString,
- modal: modalString,
- };
- await this.ctx.render('layout/layout.ejs', renderData);
- }
- }
- module.exports = BaseController;
|