Authored by ccbikai

Merge branch 'feature/sale' into release/4.8

... ... @@ -7,7 +7,7 @@
{{# activity}}
<img src="{{image coverUrl 640 200}}"/>
<p class="activity-time" data-time-ms="{{leftTime}}"><i class="iconfont time-ico">&#xe603;</i><span></span></p>
<p class="activity-time" data-time-s="{{leftTime}}"><i class="iconfont time-ico">&#xe603;</i><span></span></p>
{{/ activity}}
</div>
... ...
... ... @@ -5,7 +5,7 @@
<ul class="discount-list">
{{#list}}
<li>
<a href="/product/sale/discount/detail?id={{id}}">
<a href="/product/sale/discount/detail?id={{id}}&channel={{@root.channel}}">
<img class="lazy" data-original="{{image coverUrl 640 250}}" />
<p class="discount-cont">
<span class="discount-title">{{title}}</span>
... ...
... ... @@ -2,6 +2,5 @@
{{> common/floor-header-more}}
{{> resources/banner-top}}
{{/data}}
<div class="vip-floor clearfix">
<div class="vip-floor clearfix" data-id={{data.title.productPoolId}}>
</div>
... ...
... ... @@ -7,7 +7,7 @@
var $ = require('yoho-jquery');
var $activityTime = $('.activity-time'),
endTime = $activityTime ? $activityTime.data('time-ms') : '';
endTime = $activityTime ? $activityTime.data('time-s') : '';
var params = {
anHour: 3600, // 1小时=?秒
... ...
... ... @@ -14,5 +14,3 @@ search.start();
lazyLoad($('img.lazy'));
countDown();
... ...
... ... @@ -52,7 +52,7 @@ $(function() {
data: {
yh_channel: window.queryString.channel || 'boys',
saleType: '2',
type: 'newest',
productPool: $vipFloor.data('id'),
order: '0',
limit: '4'
}
... ...
'use strict';
require('../app');
const _ = require('lodash');
const camelCase = global.yoho.camelCase;
const helpers = global.yoho.helpers;
... ... @@ -10,7 +11,7 @@ const helpers = global.yoho.helpers;
* 否则优先从cover1 --》 cover2 -- 》 images_url
*
*/
const procProductImg = (product, gender, yhChannel) => {
const _procProductImg = (product, gender, yhChannel) => {
if (gender === '2,3' || gender === '2' || gender === '3' && yhChannel === '2') {
return product.cover2 || product.imagesUrl || product.cover1 || '';
}
... ... @@ -18,6 +19,23 @@ const procProductImg = (product, gender, yhChannel) => {
return product.cover1 || product.imagesUrl || product.cover2 || '';
};
/**
* 按照数组中指定字段排序二维数组
*
* @param array list 需要排序的数组
* @param string key 字段名称
* @param boolean 有 desc 时候降序排列,默认为false
*/
const _sortListByField = (list, key, desc) => {
list = _.toArray(list);
list = list.sort((a, b) => {
if (a[key] && b[key]) {
return (desc ? a[key] > b[key] : a[key] < b[key]) ? -1 : 1;
}
return (desc ? a > b : a < b) ? -1 : 1;
});
return list;
};
/**
* 商品搜索商品数据处理
... ... @@ -70,7 +88,7 @@ exports.processProductList = (list, options) => {
// 如果还未赋值,则取第一个skc产品的默认图片
if (!flag) {
product.defaultImages = procProductImg(product.goodsList[0], product.gender, options.yh_channel);
product.defaultImages = _procProductImg(product.goodsList[0], product.gender, options.yh_channel);
}
product.isSoonSoldOut = product.isSoonSoldOut === 'Y';
... ... @@ -228,6 +246,11 @@ exports.processFilter = (list, options) => {
name: filtersType[key].name
});
// 折扣,价格区间,需要排序
if (key === 'discount' || key === 'priceRange') {
item = _sortListByField(item, 'name');
}
_.forEach(item, (sub, index) => {
let subs = {};
... ... @@ -253,6 +276,5 @@ exports.processFilter = (list, options) => {
filters.classify[filtersType[key].sortNum] = classify;
});
return filters;
};
... ...
... ... @@ -13,7 +13,6 @@ module.exports = (list) => {
list = list || [];
list = camelCase(list);
_.forEach(list, (floor) => {
floor[_.camelCase(floor.templateName)] = true;
... ...
... ... @@ -21,7 +21,7 @@ const anHour = 3600;
const aDay = anHour * 24;
/**
* 折扣专场专题列表过期时间处理
* 折扣专场专题列表过期时间处理 单位:s
* @param {[string]} time
* @return {[object]}
*/
... ...