Showing
13 changed files
with
68 additions
and
70 deletions
@@ -27,25 +27,42 @@ const saleLogger = (err, res) => { | @@ -27,25 +27,42 @@ const saleLogger = (err, res) => { | ||
27 | res.send('error'); | 27 | res.send('error'); |
28 | }; | 28 | }; |
29 | 29 | ||
30 | + | ||
30 | /** | 31 | /** |
31 | - * sale 首页 资源位获取 | 32 | + * 公共数据处理 |
32 | * @param {[object]} req | 33 | * @param {[object]} req |
33 | - * @param {[object]} res | 34 | + * @param {[string]} title 标题 |
35 | + * @param {[string]} page js文件page名称 | ||
34 | * @return {[type]} | 36 | * @return {[type]} |
35 | */ | 37 | */ |
36 | -exports.index = (req, res) => { | 38 | +const processPublicData = (req, title, page) => { |
39 | + let data = {}; | ||
37 | let channel = req.query.channel || req.cookies._Channel || 'boys'; | 40 | let channel = req.query.channel || req.cookies._Channel || 'boys'; |
38 | - let headerData = headerModel.setNavHeader('SALE'); | ||
39 | - let renderData = { | 41 | + let headerData = headerModel.setNavHeader(title, channel); |
42 | + | ||
43 | + return data = { | ||
44 | + channel: channel, | ||
45 | + renderData: { | ||
40 | module: 'product', | 46 | module: 'product', |
41 | - page: 'sale', | ||
42 | - title: 'SALE', | 47 | + page: page, |
48 | + title: title, | ||
43 | pageHeader: headerData, | 49 | pageHeader: headerData, |
44 | pageFooter: true | 50 | pageFooter: true |
51 | + } | ||
45 | }; | 52 | }; |
53 | +}; | ||
54 | + | ||
55 | +/** | ||
56 | + * sale 首页 资源位获取 | ||
57 | + * @param {[object]} req | ||
58 | + * @param {[object]} res | ||
59 | + * @return {[type]} | ||
60 | + */ | ||
61 | +exports.index = (req, res) => { | ||
62 | + let params = processPublicData(req, 'SALE', 'sale'); | ||
46 | 63 | ||
47 | - saleModel.getSaleData(channel).then((result) => { | ||
48 | - res.render('sale/index', Object.assign(renderData, queryParam, { | 64 | + saleModel.getSaleData(params.channel).then((result) => { |
65 | + res.render('sale/index', Object.assign(params.renderData, queryParam, { | ||
49 | content: result, | 66 | content: result, |
50 | floorHeader: { | 67 | floorHeader: { |
51 | title: { | 68 | title: { |
@@ -65,20 +82,12 @@ exports.index = (req, res) => { | @@ -65,20 +82,12 @@ exports.index = (req, res) => { | ||
65 | * @return {[type]} | 82 | * @return {[type]} |
66 | */ | 83 | */ |
67 | exports.breakingYards = (req, res) => { | 84 | exports.breakingYards = (req, res) => { |
68 | - let channel = req.query.channel || req.cookies._Channel || 'boys'; | ||
69 | - let headerData = headerModel.setNavHeader('断码区'); | ||
70 | - let renderData = { | ||
71 | - module: 'product', | ||
72 | - page: 'break-code', | ||
73 | - title: '断码区', | ||
74 | - pageHeader: headerData, | ||
75 | - pageFooter: true | ||
76 | - }; | 85 | + let params = processPublicData(req, '断码区', 'break-code'); |
77 | 86 | ||
78 | saleModel.getBreakCodeData({ | 87 | saleModel.getBreakCodeData({ |
79 | - yhChannel: channel | 88 | + yhChannel: params.channel |
80 | }).then((result) => { | 89 | }).then((result) => { |
81 | - res.render('sale/break-code', Object.assign(renderData, result)); | 90 | + res.render('sale/break-code', Object.assign(params.renderData, result)); |
82 | }).catch((err) => { | 91 | }).catch((err) => { |
83 | saleLogger(err, res); | 92 | saleLogger(err, res); |
84 | }); | 93 | }); |
@@ -91,16 +100,10 @@ exports.breakingYards = (req, res) => { | @@ -91,16 +100,10 @@ exports.breakingYards = (req, res) => { | ||
91 | * @return {[type]} | 100 | * @return {[type]} |
92 | */ | 101 | */ |
93 | exports.discount = (req, res) => { | 102 | exports.discount = (req, res) => { |
94 | - let headerData = headerModel.setNavHeader('折扣专场'); | ||
95 | - let renderData = { | ||
96 | - module: 'product', | ||
97 | - page: 'discount', | ||
98 | - pageHeader: headerData, | ||
99 | - pageFooter: true | ||
100 | - }; | 103 | + let params = processPublicData(req, '折扣专场', 'discount'); |
101 | 104 | ||
102 | - saleModel.getDiscountData().then((result) => { | ||
103 | - res.render('sale/discount', Object.assign(renderData, result)); | 105 | + saleModel.getDiscountData(params.channel).then((result) => { |
106 | + res.render('sale/discount', Object.assign(params.renderData, result)); | ||
104 | }).catch((err) => { | 107 | }).catch((err) => { |
105 | saleLogger(err, res); | 108 | saleLogger(err, res); |
106 | }); | 109 | }); |
@@ -114,18 +117,12 @@ exports.discount = (req, res) => { | @@ -114,18 +117,12 @@ exports.discount = (req, res) => { | ||
114 | * @return {[type]} | 117 | * @return {[type]} |
115 | */ | 118 | */ |
116 | exports.discountDetail = (req, res) => { | 119 | exports.discountDetail = (req, res) => { |
117 | - let headerData = headerModel.setNavHeader(); | ||
118 | let id = req.query.id; | 120 | let id = req.query.id; |
119 | - let renderData = { | ||
120 | - module: 'product', | ||
121 | - page: 'discount-detail', | ||
122 | - pageFooter: true | ||
123 | - }; | 121 | + let params = processPublicData(req, '', 'discount-detail'); |
124 | 122 | ||
125 | saleModel.getDiscountDetailData(id).then((result) => { | 123 | saleModel.getDiscountDetailData(id).then((result) => { |
126 | - headerData.navTitle = result.title; | ||
127 | - renderData.pageHeader = headerData; | ||
128 | - res.render('sale/discount-detail', Object.assign(renderData, result)); | 124 | + params.renderData.pageHeader.navTitle = result.title; |
125 | + res.render('sale/discount-detail', Object.assign(params.renderData, result)); | ||
129 | }).catch((err) => { | 126 | }).catch((err) => { |
130 | saleLogger(err, res); | 127 | saleLogger(err, res); |
131 | }); | 128 | }); |
@@ -138,18 +135,10 @@ exports.discountDetail = (req, res) => { | @@ -138,18 +135,10 @@ exports.discountDetail = (req, res) => { | ||
138 | * @return {[type]} | 135 | * @return {[type]} |
139 | */ | 136 | */ |
140 | exports.vip = (req, res) => { | 137 | exports.vip = (req, res) => { |
141 | - let channel = req.query.channel || req.cookies._Channel || 'boys'; | ||
142 | - let headerData = headerModel.setNavHeader('会员专享'); | ||
143 | - let renderData = { | ||
144 | - module: 'product', | ||
145 | - page: 'vip', | ||
146 | - title: '会员专享', | ||
147 | - pageHeader: headerData, | ||
148 | - pageFooter: true | ||
149 | - }; | 138 | + let params = processPublicData(req, '会员专享', 'vip'); |
150 | 139 | ||
151 | - saleModel.getVipData(channel).then((result) => { | ||
152 | - res.render('sale/vip', Object.assign(renderData, { | 140 | + saleModel.getVipData(params.channel).then((result) => { |
141 | + res.render('sale/vip', Object.assign(params.renderData, { | ||
153 | content: result | 142 | content: result |
154 | })); | 143 | })); |
155 | }).catch((err) => { | 144 | }).catch((err) => { |
@@ -17,7 +17,7 @@ const productProcess = require(`${utils}/product-process`); | @@ -17,7 +17,7 @@ const productProcess = require(`${utils}/product-process`); | ||
17 | const _ = require('lodash'); | 17 | const _ = require('lodash'); |
18 | const api = new API(); | 18 | const api = new API(); |
19 | const serviceAPI = new ServiceAPI(); | 19 | const serviceAPI = new ServiceAPI(); |
20 | -const anHour = 3600000; | 20 | +const anHour = 3600; |
21 | const aDay = anHour * 24; | 21 | const aDay = anHour * 24; |
22 | 22 | ||
23 | /** | 23 | /** |
@@ -90,7 +90,7 @@ const processTime = (time) => { | @@ -90,7 +90,7 @@ const processTime = (time) => { | ||
90 | type = 'h'; | 90 | type = 'h'; |
91 | } | 91 | } |
92 | 92 | ||
93 | - data.time = helpers.dateDiffFormat(timeFormat[type], time, 'ms'); | 93 | + data.time = helpers.dateDiffFormat(timeFormat[type], time, 's'); |
94 | } | 94 | } |
95 | 95 | ||
96 | return data; | 96 | return data; |
@@ -101,7 +101,7 @@ const processTime = (time) => { | @@ -101,7 +101,7 @@ const processTime = (time) => { | ||
101 | * @param {[array]} list | 101 | * @param {[array]} list |
102 | * @return {[array]} | 102 | * @return {[array]} |
103 | */ | 103 | */ |
104 | -const processDiscount = (list) => { | 104 | +const processDiscount = (list, channel) => { |
105 | const formatData = []; | 105 | const formatData = []; |
106 | let flag = true; | 106 | let flag = true; |
107 | 107 | ||
@@ -114,7 +114,7 @@ const processDiscount = (list) => { | @@ -114,7 +114,7 @@ const processDiscount = (list) => { | ||
114 | 114 | ||
115 | _.forEach(list, (data) => { | 115 | _.forEach(list, (data) => { |
116 | if (flag === true) { | 116 | if (flag === true) { |
117 | - data.specialUrl = `/product/sale/discount/detail?id=${data.id}`; | 117 | + data.specialUrl = `/sale/discount/detail?id=${data.id}&channel=${channel}`; |
118 | _.merge(data, processTime(data.leftTime)); | 118 | _.merge(data, processTime(data.leftTime)); |
119 | } | 119 | } |
120 | 120 | ||
@@ -331,9 +331,9 @@ exports.getBreakCodeData = (params) => { | @@ -331,9 +331,9 @@ exports.getBreakCodeData = (params) => { | ||
331 | exports.getDiscountData = (params) => { | 331 | exports.getDiscountData = (params) => { |
332 | const discountData = {}; | 332 | const discountData = {}; |
333 | 333 | ||
334 | - return discount(params).then((result) => { | 334 | + return discount().then((result) => { |
335 | if (result && result.code === 200) { | 335 | if (result && result.code === 200) { |
336 | - discountData.data = processDiscount(result.data); | 336 | + discountData.data = processDiscount(result.data, params); |
337 | return discountData; | 337 | return discountData; |
338 | } else { | 338 | } else { |
339 | logger.error('折扣专场专题列表返回 code 不是 200'); | 339 | logger.error('折扣专场专题列表返回 code 不是 200'); |
@@ -8,16 +8,17 @@ | @@ -8,16 +8,17 @@ | ||
8 | 8 | ||
9 | const _ = require('lodash'); | 9 | const _ = require('lodash'); |
10 | 10 | ||
11 | -const getChannle = () => ('kids'); | 11 | +// const getChannle = () => ('kids'); |
12 | 12 | ||
13 | /** | 13 | /** |
14 | * 设置头部 | 14 | * 设置头部 |
15 | * @param {String} title 标题 | 15 | * @param {String} title 标题 |
16 | + * @param {Boolen} channel 频道 | ||
16 | * @param {Boolen} backUrl 返回的url | 17 | * @param {Boolen} backUrl 返回的url |
17 | * @param {Boolen} navBtn 是否显示导航 | 18 | * @param {Boolen} navBtn 是否显示导航 |
18 | * @param {Boolen} navBack 是否显示返回箭头 | 19 | * @param {Boolen} navBack 是否显示返回箭头 |
19 | */ | 20 | */ |
20 | -exports.setNavHeader = (title, navBack, backUrl, navBtn) => { | 21 | +exports.setNavHeader = (title, channel, navBack, backUrl, navBtn) => { |
21 | let header = { | 22 | let header = { |
22 | navTitle: title, | 23 | navTitle: title, |
23 | backUrl: backUrl, | 24 | backUrl: backUrl, |
@@ -25,14 +26,18 @@ exports.setNavHeader = (title, navBack, backUrl, navBtn) => { | @@ -25,14 +26,18 @@ exports.setNavHeader = (title, navBack, backUrl, navBtn) => { | ||
25 | navBtn: navBtn | 26 | navBtn: navBtn |
26 | }; | 27 | }; |
27 | 28 | ||
28 | - header[getChannle()] = true; | 29 | + header[channel] = true; |
29 | 30 | ||
30 | return _.merge({ | 31 | return _.merge({ |
31 | navTitle: '', | 32 | navTitle: '', |
32 | backUrl: true, | 33 | backUrl: true, |
33 | navBack: '', | 34 | navBack: '', |
34 | - navBtn: true, | 35 | + navBtn: { |
36 | + indexUrl: '/?go=1', | ||
37 | + categoryUrl: '/cate', | ||
38 | + shoppingCartUrl: '/cart/index/index', | ||
39 | + mineUrl: '/home' | ||
40 | + }, | ||
35 | boys: true | 41 | boys: true |
36 | }, header); | 42 | }, header); |
37 | }; | 43 | }; |
38 | - |
@@ -18,7 +18,7 @@ var $mobileWrap = $('.mobile-wrap'), | @@ -18,7 +18,7 @@ var $mobileWrap = $('.mobile-wrap'), | ||
18 | swiperClass, | 18 | swiperClass, |
19 | isen = true; | 19 | isen = true; |
20 | 20 | ||
21 | -require('../common'); | 21 | +require('../common/common'); |
22 | fastclick.attach(document.body); | 22 | fastclick.attach(document.body); |
23 | 23 | ||
24 | lazyLoad($('img.lazy')); | 24 | lazyLoad($('img.lazy')); |
@@ -16,7 +16,7 @@ var $search = $searchBox.children('input[type="text"]'), | @@ -16,7 +16,7 @@ var $search = $searchBox.children('input[type="text"]'), | ||
16 | $cancelSearch = $box.children('.no-search'), | 16 | $cancelSearch = $box.children('.no-search'), |
17 | $searchIcon = $searchBox.children('.search-icon'); | 17 | $searchIcon = $searchBox.children('.search-icon'); |
18 | 18 | ||
19 | -require('../common'); | 19 | +require('../common/common'); |
20 | 20 | ||
21 | $search.on('focus', function() { | 21 | $search.on('focus', function() { |
22 | $box.addClass('action'); | 22 | $box.addClass('action'); |
@@ -64,7 +64,7 @@ var swipers = [], | @@ -64,7 +64,7 @@ var swipers = [], | ||
64 | goodsType = ['coat', 'trouser', 'shoes', 'other']; | 64 | goodsType = ['coat', 'trouser', 'shoes', 'other']; |
65 | 65 | ||
66 | require('../common/suspend-cart'); // 悬浮购物车 | 66 | require('../common/suspend-cart'); // 悬浮购物车 |
67 | -require('../common'); | 67 | +require('../common/common'); |
68 | 68 | ||
69 | ellipsis.init(); | 69 | ellipsis.init(); |
70 | 70 |
@@ -10,9 +10,9 @@ var $activityTime = $('.activity-time'), | @@ -10,9 +10,9 @@ var $activityTime = $('.activity-time'), | ||
10 | endTime = $activityTime.data('time-ms'); | 10 | endTime = $activityTime.data('time-ms'); |
11 | 11 | ||
12 | var params = { | 12 | var params = { |
13 | - anHour: 3600000, // 1小时=?毫秒 | ||
14 | - aMinute: 60000, // 1分钟=?毫秒 | ||
15 | - aSecond: 1000, // 1秒=?毫秒 | 13 | + anHour: 3600, // 1小时=?秒 |
14 | + aMinute: 60, // 1分钟=?秒 | ||
15 | + aSecond: 1, // 1秒=?秒 | ||
16 | timeDom: $activityTime, // 时间对象数组 | 16 | timeDom: $activityTime, // 时间对象数组 |
17 | endTime: [endTime] // 时间差数组 | 17 | endTime: [endTime] // 时间差数组 |
18 | }; | 18 | }; |
@@ -31,9 +31,9 @@ function getRTime(conf) { | @@ -31,9 +31,9 @@ function getRTime(conf) { | ||
31 | 31 | ||
32 | conf.timeDom.each(function(key, item) { | 32 | conf.timeDom.each(function(key, item) { |
33 | showTime = ''; | 33 | showTime = ''; |
34 | - conf.endTime[key] = conf.endTime[key] - 1000; | 34 | + conf.endTime[key] = conf.endTime[key] - conf.aSecond; |
35 | 35 | ||
36 | - if (conf.endTime[key] > 1000) { | 36 | + if (conf.endTime[key] > conf.aSecond) { |
37 | d = Math.floor(conf.endTime[key] / conf.anHour / 24); | 37 | d = Math.floor(conf.endTime[key] / conf.anHour / 24); |
38 | h = Math.floor(conf.endTime[key] / conf.anHour % 24); | 38 | h = Math.floor(conf.endTime[key] / conf.anHour % 24); |
39 | m = Math.floor(conf.endTime[key] / conf.aMinute % 60); | 39 | m = Math.floor(conf.endTime[key] / conf.aMinute % 60); |
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | var $ = require('yoho-jquery'), | 7 | var $ = require('yoho-jquery'), |
8 | Swiper = require('yoho-swiper'); | 8 | Swiper = require('yoho-swiper'); |
9 | 9 | ||
10 | +require('../common/common'); | ||
10 | require('./sale/search'); | 11 | require('./sale/search'); |
11 | 12 | ||
12 | if ($('.swiper-container .swiper-slide').length > 1) { | 13 | if ($('.swiper-container .swiper-slide').length > 1) { |
@@ -62,7 +62,7 @@ var $listNav = $('#list-nav'), | @@ -62,7 +62,7 @@ var $listNav = $('#list-nav'), | ||
62 | searching; | 62 | searching; |
63 | 63 | ||
64 | require('../../common/suspend-cart'); // 悬浮购物车 | 64 | require('../../common/suspend-cart'); // 悬浮购物车 |
65 | -require('../../common'); | 65 | +require('../../common/common'); |
66 | 66 | ||
67 | ellipsis.init(); | 67 | ellipsis.init(); |
68 | 68 |
@@ -68,7 +68,7 @@ a { | @@ -68,7 +68,7 @@ a { | ||
68 | .iconfont { | 68 | .iconfont { |
69 | text-decoration: none; | 69 | text-decoration: none; |
70 | font-style: normal; | 70 | font-style: normal; |
71 | - font-size: 32px; | 71 | + font-size: 24px; |
72 | font-family: "iconfont" !important; | 72 | font-family: "iconfont" !important; |
73 | -webkit-font-smoothing: antialiased; | 73 | -webkit-font-smoothing: antialiased; |
74 | -webkit-text-stroke-width: 0.4px; | 74 | -webkit-text-stroke-width: 0.4px; |
-
Please register or login to post a comment