index.js
2.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
/**
* girls controller
* @author: 赵彪<bill.zhao@yoho.cn>
* @date: 2016/05/16
*/
'use strict';
const _ = require('lodash');
const ChannelModel = require('../models/index');
exports.index = (req, res, next) => {
let channelType = req.path.split('/')[1] || 'boys';
let poolId = req.query.template_id;
let isJKChannel = req.query.mChannel === 'japanKorean';
req.ctx(ChannelModel).getContent(channelType, isJKChannel, poolId).then(data => {
// channel为空不缓存
if (_.isEmpty(data.channel)) {
res.set('Cache-Control', 'no-cache');
}
res.render('channel', data);
}).catch(next);
};
// 日韩馆频道页
exports.japanKorean = (req, res, next) => {
req.ctx(ChannelModel).getJKContent(req).then(data => {
// channel为空不缓存
if (_.isEmpty(data.channel)) {
res.set('Cache-Control', 'no-cache');
}
res.render('channel', data);
}).catch(next);
};
exports.getNewArrival = (req, res, next) => {
let reqBody = req.body,
pageIndex = reqBody.pageIndex,
pageCount = reqBody.pageCount,
channel = reqBody.type || req.yoho.channel,
goods = [],
result = {},
isJKChannel = reqBody.mChannel === 'japanKorean' ? true : false,
poolId = reqBody.poolId;
if (pageIndex < 0) {
pageIndex = 0;
}
if (pageCount < 0 || pageCount > 50) {
pageCount = 20;
}
req.ctx(ChannelModel).getNewArrival(channel, isJKChannel, poolId).then(data => {
goods = _.slice(data, pageIndex, pageIndex + pageCount);
if (goods.length !== 0) {
result = {
code: 200,
goods: goods
};
}
res.send(result);
}).catch(next);
};
exports.getIndexGuide = (req, res, next) => {
req.ctx(ChannelModel).getIndexGuideData().then(data => {
if (data.code !== 200) {
const err = new Error('异常');
throw err;
}
return req.ctx(ChannelModel).formatIndexGuideData(data.data);
}).then(data => {
return req.ctx(ChannelModel).getResourceData(data);
}).then(data => {
let result = {list: data, layout: false};
res.render('guide', result);
}).catch(next);
};
exports.hasNewUserFloor = (req, res, next) => {
let uid = req.user.uid;
if (!uid) {
return res.send({code: 200, isNewUser: false});
}
req.ctx(ChannelModel).hasNewUserFloor(req.yoho.channel, req.user.uid).then(data => {
res.send(data);
}).catch(next);
};
// 频道页301重定向
exports.redirect = (goUrl) => {
return function(req, res, next) {
if (req.path === goUrl) {
return next();
}
res.redirect(301, goUrl);
};
};