Authored by 王水玲

sale bug 修改

@@ -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);
@@ -6,4 +6,6 @@ @@ -6,4 +6,6 @@
6 var $ = require('yoho-jquery'), 6 var $ = require('yoho-jquery'),
7 lazyLoad = require('yoho-jquery-lazyload'); 7 lazyLoad = require('yoho-jquery-lazyload');
8 8
  9 +require('../common/common');
  10 +
9 lazyLoad($('img.lazy')); 11 lazyLoad($('img.lazy'));
@@ -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;
@@ -158,6 +158,7 @@ @@ -158,6 +158,7 @@
158 height: auto; 158 height: auto;
159 color: #fff; 159 color: #fff;
160 line-height: 40px; 160 line-height: 40px;
  161 + font-size: 14px;
161 } 162 }
162 } 163 }
163 } 164 }