...
|
...
|
@@ -127,7 +127,7 @@ const procProductImg = (product, gender) => { |
|
|
/**
|
|
|
* 商品搜索数据处理
|
|
|
*/
|
|
|
const processSearch = (list, options) => {
|
|
|
const processProductList = (list, options) => {
|
|
|
const pruductList = [];
|
|
|
|
|
|
options = Object.assign({
|
...
|
...
|
@@ -218,96 +218,10 @@ const processSearch = (list, options) => { |
|
|
pruductList.push(product);
|
|
|
});
|
|
|
return pruductList;
|
|
|
};
|
|
|
|
|
|
/* eslint-disable */
|
|
|
// /**
|
|
|
// * 格式化商品信息
|
|
|
// *
|
|
|
// * @param array $productData 需要格式化的商品数据
|
|
|
// * @param bool $showTags 控制是否显示标签
|
|
|
// * @param bool $showNew 控制是否显示NEW图标
|
|
|
// * @param bool $showSale 控制是否显示SALE图标
|
|
|
// * @param int $width 图片的宽度
|
|
|
// * @param int $height 图片的高度
|
|
|
// * @param bool $isApp 判断是不是APP访问
|
|
|
// * @param bool $showPoint 商品价格是否显示小数位,默认显示
|
|
|
// * @return array | false
|
|
|
// */
|
|
|
// public static function formatProduct($productData, $showTags = true, $showNew = true, $showSale = true, $width = 290, $height = 388, $isApp = false, $showPoint = true)
|
|
|
// {
|
|
|
// // 商品信息有问题,则不显示
|
|
|
// if (!isset($productData['product_skn']) || !isset($productData['goods_list'][0])) {
|
|
|
// return false;
|
|
|
// }
|
|
|
//
|
|
|
// // 市场价和售价一样,则不显示市场价
|
|
|
// if (intval($productData['market_price']) === intval($productData['sales_price'])) {
|
|
|
// $productData['market_price'] = false;
|
|
|
// }
|
|
|
//
|
|
|
// // 判别默认的商品是否将默认的图片URL赋值到skn
|
|
|
// $flag = false;
|
|
|
// // 如果设置了默认图片,就取默认的图片
|
|
|
// foreach ($productData['goods_list'] as $oneGoods) {
|
|
|
// // 此skc是默认的,则将图片赋值给skn
|
|
|
// if ($oneGoods['is_default'] === 'Y') {
|
|
|
// $productData['default_images'] = self::procProductImg($oneGoods);
|
|
|
// $flag = true;
|
|
|
// break;
|
|
|
// }
|
|
|
// }
|
|
|
// // 如果还未赋值,则取第一个skc产品的默认图片
|
|
|
// if (!$flag) {
|
|
|
// $productData['default_images'] = self::procProductImg($productData['goods_list'][0]);
|
|
|
// }
|
|
|
//
|
|
|
// $result = array();
|
|
|
// $result['id'] = $productData['product_skn'];
|
|
|
// $result['product_id'] = $productData['product_id'];
|
|
|
// $result['thumb'] = Images::getImageUrl($productData['default_images'], $width, $height);
|
|
|
// $result['name'] = $productData['product_name'];
|
|
|
// $result['price'] = empty($productData['market_price']) ? false : $productData['market_price'];
|
|
|
// $result['salePrice'] = $productData['sales_price'];
|
|
|
// if ($showPoint) {
|
|
|
// $result['price'] && $result['price'] .= '.00';
|
|
|
// $result['salePrice'] && $result['salePrice'] .= '.00';
|
|
|
// }
|
|
|
// $result['is_soon_sold_out'] = ($productData['is_soon_sold_out'] === 'Y');
|
|
|
// $result['url'] = self::url('/product/pro_' . $productData['product_id'] . '_'
|
|
|
// . $productData['goods_list'][0]['goods_id']
|
|
|
// . '/' . $productData['cn_alphabet'] . '.html');
|
|
|
// // APP访问需要加附加的参数
|
|
|
// // 备注:如果以后APP的接口太多,可以把这边参数提取出来,变成一个公共的方法来生成,便于以后管理维护
|
|
|
// if ($isApp) {
|
|
|
// $result['url'] .= '?openby:yohobuy={"action":"go.productDetail","params":{"product_skn":' . $productData['product_skn'] . '}}';
|
|
|
// }
|
|
|
//
|
|
|
// if ($showTags) {
|
|
|
// $result['tags'] = array();
|
|
|
// $result['tags']['is_new'] = $showNew && isset($productData['is_new']) && $productData['is_new'] === 'Y'; // 新品
|
|
|
// $result['tags']['is_discount'] = $showSale && isset($productData['is_discount']) && $productData['is_discount'] === 'Y'; // 在售
|
|
|
// $result['tags']['is_limited'] = isset($productData['is_limited']) && $productData['is_limited'] === 'Y'; // 限量
|
|
|
// $result['tags']['is_yohood'] = isset($productData['is_yohood']) && $productData['is_yohood'] === 'Y'; // YOHOOD
|
|
|
// $result['tags']['midYear'] = isset($productData['mid-year']) && $productData['mid-year'] === 'Y'; // 年中
|
|
|
// $result['tags']['yearEnd'] = isset($productData['year-end']) && $productData['year-end'] === 'Y'; // 年末
|
|
|
// $result['tags']['is_advance'] = isset($productData['is_advance']) && $productData['is_advance'] === 'Y'; // 再到着
|
|
|
// // 打折与即将售完组合显示打折
|
|
|
// if ($result['is_soon_sold_out'] && $result['tags']['is_discount']) {
|
|
|
// $result['tags']['is_new'] = false;
|
|
|
// }
|
|
|
// // 打折与其它组合则隐藏打折
|
|
|
// elseif ($result['tags']['is_discount'] &&
|
|
|
// ($result['tags']['is_new'] || $result['tags']['is_limited'] || $result['tags']['is_yohood'] || $result['tags']['is_advance'])) {
|
|
|
// $result['tags']['is_discount'] = false;
|
|
|
// }
|
|
|
// // YOHOOD和新品组合显示YOHOOD
|
|
|
// elseif ($result['tags']['is_yohood'] && $result['tags']['is_new']) {
|
|
|
// $result['tags']['is_new'] = false;
|
|
|
// }
|
|
|
// }
|
|
|
//
|
|
|
// return $result;
|
|
|
// }
|
|
|
const processFilter = (list) => {
|
|
|
return list;
|
|
|
};
|
|
|
|
|
|
/**
|
...
|
...
|
@@ -335,16 +249,20 @@ const processBreakingSort = (list) => { |
|
|
return formatData;
|
|
|
};
|
|
|
|
|
|
const searchSales = (params) => {
|
|
|
params = params || {};
|
|
|
return api.get('', sign.apiSign(Object.assign({
|
|
|
method: 'app.search.sales'
|
|
|
}, params)), true);
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 获取商品数据
|
|
|
*/
|
|
|
exports.getSearchData = (params) => {
|
|
|
return api.get('', sign.apiSign(Object.assign({
|
|
|
method: 'app.search.sales'
|
|
|
}, params))).then((result) => {
|
|
|
exports.getFilterData = (params) => {
|
|
|
return searchSales(params).then((result) => {
|
|
|
if (result && result.code === 200) {
|
|
|
return processSearch(result);
|
|
|
return processFilter(result.data.filter || []);
|
|
|
} else {
|
|
|
logger.error('SALE 商品搜索返回 code 不是 200');
|
|
|
return [];
|
...
|
...
|
@@ -353,6 +271,20 @@ exports.getSearchData = (params) => { |
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 获取商品数据
|
|
|
*/
|
|
|
exports.getSearchData = (params) => {
|
|
|
return searchSales(params).then((result) => {
|
|
|
if (result && result.code === 200) {
|
|
|
return processProductList(result.data.product_list || []);
|
|
|
} else {
|
|
|
logger.error('SALE 商品搜索返回 code 不是 200');
|
|
|
return {};
|
|
|
}
|
|
|
});
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 获取资源位数据
|
|
|
*/
|
|
|
const getResources = (page) => {
|
...
|
...
|
@@ -391,32 +323,20 @@ const getBreakingSort = (yhChannel) => { |
|
|
});
|
|
|
};
|
|
|
|
|
|
const getSpecial = (params) => {
|
|
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取商品数据
|
|
|
* 获取sale首页数据
|
|
|
*/
|
|
|
exports.getSearchData = (params) => {
|
|
|
params = params || {};
|
|
|
return api.get('', sign.apiSign(Object.assign({
|
|
|
method: 'app.search.sales'
|
|
|
}, params))).then((result) => {
|
|
|
if (result && result.code === 200) {
|
|
|
return processSearch(result.data.product_list || []);
|
|
|
} else {
|
|
|
logger.error('SALE 商品搜索返回 code 不是 200');
|
|
|
return {};
|
|
|
}
|
|
|
});
|
|
|
exports.getSaleData = () => {
|
|
|
return getResources('sale');
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 获取sale首页数据
|
|
|
* 获取会员享数据
|
|
|
* @param {[object]} params
|
|
|
* @return {[object]}
|
|
|
*/
|
|
|
exports.getSaleData = () => {
|
|
|
return getResources('sale');
|
|
|
exports.getVipData = () => {
|
|
|
return getResources('vip');
|
|
|
};
|
|
|
|
|
|
/**
|
...
|
...
|
@@ -434,6 +354,10 @@ exports.getBreakCodeData = (params) => { |
|
|
});
|
|
|
};
|
|
|
|
|
|
|
|
|
// const getSpecial = (params) => {
|
|
|
//
|
|
|
// };
|
|
|
/**
|
|
|
* 获取折扣专场专题列表数据
|
|
|
* @param {[object]} params
|
...
|
...
|
@@ -486,13 +410,3 @@ exports.getSpecialDetailData = (id) => { |
|
|
}
|
|
|
});
|
|
|
}; |
|
|
|
|
|
|
|
|
/**
|
|
|
* 获取会员享数据
|
|
|
* @param {[object]} params
|
|
|
* @return {[object]}
|
|
|
*/
|
|
|
exports.getVipData = (params) => {
|
|
|
return getResources('vip');
|
|
|
}; |
...
|
...
|
|