Authored by yyq

hander

... ... @@ -355,21 +355,26 @@ const _handleSaleCategory = (shopId, baseUrl, resourceObj) => {
*/
exports.getShopDecorator = (data, params, shopId, base) => {
let dest = {};
let sourceFn;
if (base) {
sourceFn = {
signboard(info) {
dest.signboard = signboard(info);
},
shopTopBanner_base(info) {
Object.assign(dest, shopTopBannerBase(info));
}
};
_.forEach(data.list, (value) => {
if (!sourceFn[value.resource_name]) {
return;
}
let info = Fn.pipe(JSON.parse, _.partial(_handleSaleCategory, shopId, ''))(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;
}
sourceFn[value.resource_name](info);
});
} else {
Object.assign(dest, {
... ... @@ -377,46 +382,50 @@ exports.getShopDecorator = (data, params, shopId, base) => {
hotSingle: {}
});
sourceFn = {
newProducts(info) {
Object.assign(dest.newArrivel, newProducts(info));
},
hotProducts(info) {
Object.assign(dest.hotSingle, hotProducts(info));
},
goodsTabBar(info) {
let tabBar = goodsTabBar(info, shopId);
Object.assign(dest.newArrivel, {navs: tabBar.new});
Object.assign(dest.hotSingle, {navs: tabBar.hot});
},
shopTopBanner(info) {
Object.assign(dest, shopTopBanner(info));
},
navigationBar(info) {
Object.assign(dest, navigationBar(info, shopId, params));
},
largeSlideImg(info) {
Object.assign(dest, largeSlideImg(info, shopId));
},
oneRowTwoColImages(info) {
Object.assign(dest, oneRowTwoColImages(info, shopId));
},
recommend(info) {
Object.assign(dest, recommend(info, shopId));
},
brandBrowse(info) {
Object.assign(dest, brandBrowse(info, params));
},
hotRecommend(info) {
Object.assign(dest, hotRecommend(info));
}
};
_.forEach(data.list, (value) => {
let info = Fn.pipe(JSON.parse, _.partial(_handleSaleCategory, shopId, shopListUrl))(value.resource_data || '[]'); // eslint-disable-line
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, params));
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 (!sourceFn[value.resource_name]) {
return;
}
let info = Fn.pipe(JSON.parse, _.partial(_handleSaleCategory, shopId, shopListUrl))(value.resource_data || '[]'); // eslint-disable-line
sourceFn[value.resource_name](info);
});
}
... ...