/** * 奥莱页面 * @author: 赵彪<bill.zhao@yoho.cn> * @date: 2016/05/09 */ 'use strict'; const outletModel = require('../models/outlet'); const headerModel = require('../../../doraemon/models/header'); const yhChannelEmpty = 0; const willEndActivity = { type: 2, template: 'outlet/will-end', page: 'outlet-will-end' }; const willStartActivity = { type: 3, template: 'outlet/will-start', page: 'outlet-will-start' }; // 奥莱首页控制器 exports.index = (req, res, next) => { let headerData = headerModel.setNav({ navTitle: 'OUTLET', navBtn: false }); let categoryId = req.query.category_id; let yhChannel = req.query.yh_channel || yhChannelEmpty; let contentcode = req.query.content_code; outletModel.getContent(categoryId, yhChannel, contentcode).then(result => { res.render('outlet', Object.assign({ pageHeader: headerData }, result)); }).catch(next); }; // 奥莱活动详情页 exports.activityDetail = (req, res, next) => { outletModel.getActivity(req.query.id).then(result => { let headerData = headerModel.setNav({ navTitle: result.activityTitle, navBtn: false }); res.render('outlet/activity', Object.assign({ page: 'outlet-detail', pageHeader: headerData, pageFooter: true }, result)); }).catch(next); }; // 奥莱活动倒计时时间 exports.activityTime = (req, res, next) => { outletModel.getActivityTime(req.query).then(times => { res.json(times); }).catch(next); }; // 奥莱活动频道列表页 exports.activityList = (req, res, next) => { let headerData = headerModel.setNav({ navTitle: 'OUTLET', navBtn: false }); let categoryId = req.query.category_id; let type = req.query.type || willEndActivity.type; let template; let page; if (!categoryId) { throw new Error('No parent_id for OUTLET channel page!'); } // 根据请求的类型确定要渲染的是即将结束页面还是上线预告页面 if (parseInt(type, 10) === willEndActivity.type) { template = willEndActivity.template; page = willEndActivity.page; } else { template = willStartActivity.template; page = willStartActivity.page; } outletModel.getRecentActivity(type, categoryId).then(result => { res.render(template, Object.assign({ page: page, pageHeader: headerData, pageFooter: true }, result)); }).catch(next); };