Authored by 王水玲

camelcase

{{#if this}} {{!-- 剔除值为false的项 --}}
<div class="good-info {{#if @root.saleViplogin}}sale-vip{{/if}}" data-id="{{productSkn}}" data-bp-id="guang_goodList_{{productName}}_false">
<div class="good-info {{#if @root.saleViplogin}}sale-vip{{/if}}" data-id="{{product_skn}}" data-bp-id="guang_goodList_{{product_name}}_false">
<div class="tag-container clearfix">
{{# tags}}
{{# isNew}}
... ... @@ -21,11 +21,11 @@
</div>
<div class="good-detail-img">
<a class="good-thumb" href="{{url}}">
<img class="lazy" data-original="{{image defaultImages 235 314}}">
<img class="lazy" data-original="{{image default_images 235 314}}">
</a>
{{# isSoonSoldOut}}
{{# is_soon_sold_out}}
<p class="few-tag">即将售罄</p>
{{/ isSoonSoldOut}}
{{/ is_soon_sold_out}}
{{#if noStorage}}
<div class="no-storage">
... ... @@ -35,22 +35,22 @@
</div>
<div class="good-detail-text">
<div class="name">
<a href="{{url}}">{{productName}}</a>
<a href="{{url}}">{{product_name}}</a>
</div>
<div class="price">
{{#if @root.saleViplogin}}
<i class="vip-grade vip-grade-{{@root.vipLevel}}"></i>
<span class="sale-price {{^marketPrice}}no-price{{/marketPrice}}">¥
{{#if @root.vipPrice1}}{{round vip1Price}}{{/if}}
{{#if @root.vipPrice2}}{{round vip2Price}}{{/if}}
{{#if @root.vipPrice3}}{{round vip3Price}}{{/if}}
<span class="sale-price {{^market_price}}no-price{{/market_price}}">¥
{{#if @root.vipPrice1}}{{round vip1_price}}{{/if}}
{{#if @root.vipPrice2}}{{round vip2_price}}{{/if}}
{{#if @root.vipPrice3}}{{round vip3_price}}{{/if}}
</span>
{{else}}
<span class="sale-price {{^marketPrice}}no-price{{/marketPrice}}">¥{{round salesPrice}}</span>
<span class="sale-price {{^market_price}}no-price{{/market_price}}">¥{{round sales_price}}</span>
{{/if}}
{{#marketPrice}}
{{#market_price}}
<span class="market-price">¥{{round .}}</span>
{{/marketPrice}}
{{/market_price}}
</div>
{{#if @root.saleVip}}
<div class="vip-info">
... ...
... ... @@ -13,10 +13,10 @@ const helpers = global.yoho.helpers;
*/
const _procProductImg = (product, gender, yhChannel) => {
if (gender === '2,3' || gender === '2' || gender === '3' && yhChannel === '2') {
return product.cover2 || product.imagesUrl || product.cover1 || '';
return product.cover_2 || product.images_url || product.cover_1 || '';
}
return product.cover1 || product.imagesUrl || product.cover2 || '';
return product.cover_1 || product.images_url || product.cover_2 || '';
};
const toArray = (obj) => {
... ... @@ -87,66 +87,65 @@ exports.processProductList = (list, options) => {
showPoint: true,
gender: '2,3'
}, options);
list = camelCase(list);
_.forEach(list, (product) => {
// 商品信息有问题,则不显示
if (!product.productId || !product.goodsList || product.goodsList.length === 0) {
if (!product.product_id || !product.goods_list || product.goods_list.length === 0) {
return;
}
// 如果库存为0,显示已抢完
if (product.storageNum === 0) {
if (product.storage_num === 0) {
product.noStorage = true;
}
// 市场价和售价一样,则不显示市场价
if (product.marketPrice === product.salesPrice) {
product.marketPrice = false;
if (product.market_price === product.sales_price) {
product.market_price = false;
}
// 判别默认的商品是否将默认的图片URL赋值到skn
let flag = false;
// 如果设置了默认图片,就取默认的图片
_.forEach(product.goodsList, (goods) => {
_.forEach(product.goods_list, (goods) => {
if (flag) {
return;
}
if (goods.isDefault === 'Y') {
if (goods.is_default === 'Y') {
// product.defaultImages = procProductImg(goods);
product.defaultImages = product.defaultImages;
product.default_images = product.default_images;
flag = true;
}
});
// 如果还未赋值,则取第一个skc产品的默认图片
if (!flag) {
product.defaultImages = _procProductImg(product.goodsList[0], product.gender, options.yh_channel);
product.default_images = _procProductImg(product.goods_list[0], product.gender, options.yh_channel);
}
product.isSoonSoldOut = product.isSoonSoldOut === 'Y';
product.url = helpers.urlFormat(`/product/pro_${product.productId}_${product.goodsList[0].goodsId}/${product.cnAlphabet}.html`); // eslint-disable-line
product.is_soon_sold_out = product.is_soon_sold_out === 'Y';
product.url = helpers.urlFormat(`/product/pro_${product.product_id}_${product.goods_list[0].goods_id}/${product.cn_alphabet}.html`); // eslint-disable-line
// APP访问需要加附加的参数
// 备注:如果以后APP的接口太多,可以把这边参数提取出来,变成一个公共的方法来生成,便于以后管理维护
if (options.isApp) {
product.url += `?openby:yohobuy={"action":"go.productDetail","params":{"product_skn":"${product.productSkn}"}}`; // eslint-disable-line
product.url += `?openby:yohobuy={"action":"go.productDetail","params":{"product_skn":"${product.product_skn}"}}`; // eslint-disable-line
}
if (options.showTags) {
product.tags = {};
product.tags.isNew = options.showNew && product.isNew === 'Y'; // 新品
product.tags.isDiscount = options.showSale && product.isDiscount === 'Y'; // 在售
product.tags.isLimited = product.isLimited === 'Y'; // 限量
product.tags.isYohood = product.isYohood === 'Y'; // YOHOOD
product.tags.midYear = product.midYear === 'Y'; // 年中
product.tags.yearEnd = product.yearEnd === 'Y'; // 年末
product.tags.isAdvance = product.isAdvance === 'Y'; // 再到着
product.tags.isNew = options.showNew && product.is_new === 'Y'; // 新品
product.tags.isDiscount = options.showSale && product.is_discount === 'Y'; // 在售
product.tags.isLimited = product.is_limited === 'Y'; // 限量
product.tags.isYohood = product.is_yohood === 'Y'; // YOHOOD
product.tags.midYear = product.mid_year === 'Y'; // 年中
product.tags.yearEnd = product.year_end === 'Y'; // 年末
product.tags.isAdvance = product.is_advance === 'Y'; // 再到着
// 打折与即将售完组合显示打折
if (product.isSoonSoldOut && product.tags.isDiscount) {
if (product.is_soon_sold_out && product.tags.isDiscount) {
product.tags.isNew = false;
} else if (product.tags.isDiscount &&
(product.tags.isNew || product.tags.isLimited || product.tags.isYohood || product.tags.isAdvance)) {
... ...