Authored by yyq

base shop 水牌

... ... @@ -860,7 +860,7 @@ const getBaseShopData = (params, extra, channel, shopId) => {
if (result[1].code === 200) {
let data = result[1].data || {},
decorator = shopHandler.getShopDecorator(data, {}, shopId);
decorator = shopHandler.getShopDecorator(data, {}, shopId, true);
Object.assign(decorator.shopTopBannerBase, {
shopId: shopId,
... ... @@ -870,6 +870,10 @@ const getBaseShopData = (params, extra, channel, shopId) => {
});
_.set(resData, 'brand.shopBanner', decorator.shopTopBannerBase);
_.unset(resData, 'brand.brandBanner');
if (decorator.signboard) {
_.set(resData, 'brand.signboard', decorator.signboard);
}
}
if (result[2].code === 200) {
... ...
... ... @@ -302,62 +302,98 @@ const hotRecommend = (data) => {
};
/**
* 水牌
*/
const signboard = (data) => {
let list = [];
_.forEach(data, value => {
if (value.data) {
_.forEach(value.data, val => {
list.push({
img: helpers.image(val.src, 160, 240),
url: val.url
});
});
}
});
return {
title: _.get(list, '[0].title', ''),
list: list
};
};
/**
* 店铺装修楼层数据
* @param data 装修数据
* @returns {{}}
*/
exports.getShopDecorator = (data, params, shopId) => {
let dest = {
newArrivel: {},
hotSingle: {}
};
exports.getShopDecorator = (data, params, shopId, base) => {
let dest = {};
_.forEach(data.list, (value) => {
let info = JSON.parse(value.resource_data);
let tabBar;
switch (value.resource_name) {
case 'signboard':
break;
case 'newProducts':
Object.assign(dest.newArrivel, newProducts(info));
break;
case 'hotProducts':
Object.assign(dest.hotSingle, hotProducts(info));
break;
case 'goodsTabBar':
tabBar = goodsTabBar(info, shopId);
Object.assign(dest.newArrivel, {navs: tabBar.new});
Object.assign(dest.hotSingle, {navs: tabBar.hot});
break;
case 'shopTopBanner':
Object.assign(dest, shopTopBanner(info));
break;
case 'shopTopBanner_base':
Object.assign(dest, shopTopBannerBase(info));
break;
case 'navigationBar':
Object.assign(dest, navigationBar(info, shopId));
break;
case 'largeSlideImg':
Object.assign(dest, largeSlideImg(info, shopId));
break;
case 'oneRowTwoColImages':
Object.assign(dest, oneRowTwoColImages(info, shopId));
break;
case 'recommend':
Object.assign(dest, recommend(info, shopId));
break;
case 'brandBrowse':
Object.assign(dest, brandBrowse(info, params));
break;
case 'hotRecommend':
Object.assign(dest, hotRecommend(info));
break;
default:
break;
}
});
if (base) {
_.forEach(data.list, (value) => {
let info = JSON.parse(value.resource_data);
switch (value.resource_name) {
case 'signboard':
dest.signboard = signboard(info);
break;
case 'shopTopBanner_base':
Object.assign(dest, shopTopBannerBase(info));
break;
default:
break;
}
});
} else {
Object.assign(dest, {
newArrivel: {},
hotSingle: {}
});
_.forEach(data.list, (value) => {
let info = JSON.parse(value.resource_data);
let tabBar;
switch (value.resource_name) {
case 'newProducts':
Object.assign(dest.newArrivel, newProducts(info));
break;
case 'hotProducts':
Object.assign(dest.hotSingle, hotProducts(info));
break;
case 'goodsTabBar':
tabBar = goodsTabBar(info, shopId);
Object.assign(dest.newArrivel, {navs: tabBar.new});
Object.assign(dest.hotSingle, {navs: tabBar.hot});
break;
case 'shopTopBanner':
Object.assign(dest, shopTopBanner(info));
break;
case 'navigationBar':
Object.assign(dest, navigationBar(info, shopId));
break;
case 'largeSlideImg':
Object.assign(dest, largeSlideImg(info, shopId));
break;
case 'oneRowTwoColImages':
Object.assign(dest, oneRowTwoColImages(info, shopId));
break;
case 'recommend':
Object.assign(dest, recommend(info, shopId));
break;
case 'brandBrowse':
Object.assign(dest, brandBrowse(info, params));
break;
case 'hotRecommend':
Object.assign(dest, hotRecommend(info));
break;
default:
break;
}
});
}
return dest;
};
... ...