Authored by yyq

display 中间件

... ... @@ -81,13 +81,14 @@ const logger = global.yoho.logger;
// dispatcher
try {
const mobileCheck = require('./doraemon/middleware/mobile-check');
const user = require('./doraemon/middleware/user');
const seo = require('./doraemon/middleware/seo');
const setYohoData = require('./doraemon/middleware/set-yoho-data');
const mobileCheck = require(`${global.middleware}/mobile-check`);
const user = require(`${global.middleware}/user`);
const seo = require(`${global.middleware}/seo`);
const setYohoData = require(`${global.middleware}/set-yoho-data`);
// const errorHanlder = require('./doraemon/middleware/error-handler');
const setPageInfo = require('./doraemon/middleware/set-pageinfo');
// const errorHanlder = require(`${global.middleware}/error-handler`);
const setPageInfo = require(`${global.middleware}/set-pageinfo`);
const display = require(`${global.middleware}/display`);
// YOHO 前置中间件
app.use(mobileCheck());
... ... @@ -95,6 +96,7 @@ try {
app.use(user());
app.use(seo());
app.use(setPageInfo());
app.use(display());
require('./dispatch')(app);
... ...
... ... @@ -11,7 +11,7 @@
const index = (req, res) => {
var pageNum = req.query.page || 1;
res.render('index', {
res.display('index', {
module: 'partial',
page: 'index',
title: 'Yoho!buy有货',
... ...
/**
* 渲染布局
* @author: yyq<yanqing.yang@yoho.cn>
* @date: 2016/7/4
*/
'use strict';
const _ = require('lodash');
const header = require('../models/header');
module.exports = () => {
return (req, res, next) => {
res.display = (path, data) => {
let isHead = true;
// 判断是否隐藏公共布局
if (_.isBoolean(data.layout) && !data.layout) {
isHead = false;
}
// 判断是否显示默认头部
if (_.isBoolean(data.defaultHeader) && !data.defaultHeader) {
_.unset(data, 'defaultHeader');
isHead = false;
}
if (!isHead) {
res.render(path, data);
} else {
header.requestHeaderData('boys').then(result => {
Object.assign(data, result);
res.render(path, data);
}).catch(next);
}
};
next();
};
};
... ...