|
@@ -127,7 +127,7 @@ const procProductImg = (product, gender) => { |
|
@@ -127,7 +127,7 @@ const procProductImg = (product, gender) => { |
127
|
/**
|
127
|
/**
|
128
|
* 商品搜索数据处理
|
128
|
* 商品搜索数据处理
|
129
|
*/
|
129
|
*/
|
130
|
-const processSearch = (list, options) => {
|
130
|
+const processProductList = (list, options) => {
|
131
|
const pruductList = [];
|
131
|
const pruductList = [];
|
132
|
|
132
|
|
133
|
options = Object.assign({
|
133
|
options = Object.assign({
|
|
@@ -218,96 +218,10 @@ const processSearch = (list, options) => { |
|
@@ -218,96 +218,10 @@ const processSearch = (list, options) => { |
218
|
pruductList.push(product);
|
218
|
pruductList.push(product);
|
219
|
});
|
219
|
});
|
220
|
return pruductList;
|
220
|
return pruductList;
|
|
|
221
|
+};
|
221
|
|
222
|
|
222
|
- /* eslint-disable */
|
|
|
223
|
- // /**
|
|
|
224
|
- // * 格式化商品信息
|
|
|
225
|
- // *
|
|
|
226
|
- // * @param array $productData 需要格式化的商品数据
|
|
|
227
|
- // * @param bool $showTags 控制是否显示标签
|
|
|
228
|
- // * @param bool $showNew 控制是否显示NEW图标
|
|
|
229
|
- // * @param bool $showSale 控制是否显示SALE图标
|
|
|
230
|
- // * @param int $width 图片的宽度
|
|
|
231
|
- // * @param int $height 图片的高度
|
|
|
232
|
- // * @param bool $isApp 判断是不是APP访问
|
|
|
233
|
- // * @param bool $showPoint 商品价格是否显示小数位,默认显示
|
|
|
234
|
- // * @return array | false
|
|
|
235
|
- // */
|
|
|
236
|
- // public static function formatProduct($productData, $showTags = true, $showNew = true, $showSale = true, $width = 290, $height = 388, $isApp = false, $showPoint = true)
|
|
|
237
|
- // {
|
|
|
238
|
- // // 商品信息有问题,则不显示
|
|
|
239
|
- // if (!isset($productData['product_skn']) || !isset($productData['goods_list'][0])) {
|
|
|
240
|
- // return false;
|
|
|
241
|
- // }
|
|
|
242
|
- //
|
|
|
243
|
- // // 市场价和售价一样,则不显示市场价
|
|
|
244
|
- // if (intval($productData['market_price']) === intval($productData['sales_price'])) {
|
|
|
245
|
- // $productData['market_price'] = false;
|
|
|
246
|
- // }
|
|
|
247
|
- //
|
|
|
248
|
- // // 判别默认的商品是否将默认的图片URL赋值到skn
|
|
|
249
|
- // $flag = false;
|
|
|
250
|
- // // 如果设置了默认图片,就取默认的图片
|
|
|
251
|
- // foreach ($productData['goods_list'] as $oneGoods) {
|
|
|
252
|
- // // 此skc是默认的,则将图片赋值给skn
|
|
|
253
|
- // if ($oneGoods['is_default'] === 'Y') {
|
|
|
254
|
- // $productData['default_images'] = self::procProductImg($oneGoods);
|
|
|
255
|
- // $flag = true;
|
|
|
256
|
- // break;
|
|
|
257
|
- // }
|
|
|
258
|
- // }
|
|
|
259
|
- // // 如果还未赋值,则取第一个skc产品的默认图片
|
|
|
260
|
- // if (!$flag) {
|
|
|
261
|
- // $productData['default_images'] = self::procProductImg($productData['goods_list'][0]);
|
|
|
262
|
- // }
|
|
|
263
|
- //
|
|
|
264
|
- // $result = array();
|
|
|
265
|
- // $result['id'] = $productData['product_skn'];
|
|
|
266
|
- // $result['product_id'] = $productData['product_id'];
|
|
|
267
|
- // $result['thumb'] = Images::getImageUrl($productData['default_images'], $width, $height);
|
|
|
268
|
- // $result['name'] = $productData['product_name'];
|
|
|
269
|
- // $result['price'] = empty($productData['market_price']) ? false : $productData['market_price'];
|
|
|
270
|
- // $result['salePrice'] = $productData['sales_price'];
|
|
|
271
|
- // if ($showPoint) {
|
|
|
272
|
- // $result['price'] && $result['price'] .= '.00';
|
|
|
273
|
- // $result['salePrice'] && $result['salePrice'] .= '.00';
|
|
|
274
|
- // }
|
|
|
275
|
- // $result['is_soon_sold_out'] = ($productData['is_soon_sold_out'] === 'Y');
|
|
|
276
|
- // $result['url'] = self::url('/product/pro_' . $productData['product_id'] . '_'
|
|
|
277
|
- // . $productData['goods_list'][0]['goods_id']
|
|
|
278
|
- // . '/' . $productData['cn_alphabet'] . '.html');
|
|
|
279
|
- // // APP访问需要加附加的参数
|
|
|
280
|
- // // 备注:如果以后APP的接口太多,可以把这边参数提取出来,变成一个公共的方法来生成,便于以后管理维护
|
|
|
281
|
- // if ($isApp) {
|
|
|
282
|
- // $result['url'] .= '?openby:yohobuy={"action":"go.productDetail","params":{"product_skn":' . $productData['product_skn'] . '}}';
|
|
|
283
|
- // }
|
|
|
284
|
- //
|
|
|
285
|
- // if ($showTags) {
|
|
|
286
|
- // $result['tags'] = array();
|
|
|
287
|
- // $result['tags']['is_new'] = $showNew && isset($productData['is_new']) && $productData['is_new'] === 'Y'; // 新品
|
|
|
288
|
- // $result['tags']['is_discount'] = $showSale && isset($productData['is_discount']) && $productData['is_discount'] === 'Y'; // 在售
|
|
|
289
|
- // $result['tags']['is_limited'] = isset($productData['is_limited']) && $productData['is_limited'] === 'Y'; // 限量
|
|
|
290
|
- // $result['tags']['is_yohood'] = isset($productData['is_yohood']) && $productData['is_yohood'] === 'Y'; // YOHOOD
|
|
|
291
|
- // $result['tags']['midYear'] = isset($productData['mid-year']) && $productData['mid-year'] === 'Y'; // 年中
|
|
|
292
|
- // $result['tags']['yearEnd'] = isset($productData['year-end']) && $productData['year-end'] === 'Y'; // 年末
|
|
|
293
|
- // $result['tags']['is_advance'] = isset($productData['is_advance']) && $productData['is_advance'] === 'Y'; // 再到着
|
|
|
294
|
- // // 打折与即将售完组合显示打折
|
|
|
295
|
- // if ($result['is_soon_sold_out'] && $result['tags']['is_discount']) {
|
|
|
296
|
- // $result['tags']['is_new'] = false;
|
|
|
297
|
- // }
|
|
|
298
|
- // // 打折与其它组合则隐藏打折
|
|
|
299
|
- // elseif ($result['tags']['is_discount'] &&
|
|
|
300
|
- // ($result['tags']['is_new'] || $result['tags']['is_limited'] || $result['tags']['is_yohood'] || $result['tags']['is_advance'])) {
|
|
|
301
|
- // $result['tags']['is_discount'] = false;
|
|
|
302
|
- // }
|
|
|
303
|
- // // YOHOOD和新品组合显示YOHOOD
|
|
|
304
|
- // elseif ($result['tags']['is_yohood'] && $result['tags']['is_new']) {
|
|
|
305
|
- // $result['tags']['is_new'] = false;
|
|
|
306
|
- // }
|
|
|
307
|
- // }
|
|
|
308
|
- //
|
|
|
309
|
- // return $result;
|
|
|
310
|
- // }
|
223
|
+const processFilter = (list) => {
|
|
|
224
|
+ return list;
|
311
|
};
|
225
|
};
|
312
|
|
226
|
|
313
|
/**
|
227
|
/**
|
|
@@ -335,16 +249,20 @@ const processBreakingSort = (list) => { |
|
@@ -335,16 +249,20 @@ const processBreakingSort = (list) => { |
335
|
return formatData;
|
249
|
return formatData;
|
336
|
};
|
250
|
};
|
337
|
|
251
|
|
|
|
252
|
+const searchSales = (params) => {
|
|
|
253
|
+ params = params || {};
|
|
|
254
|
+ return api.get('', sign.apiSign(Object.assign({
|
|
|
255
|
+ method: 'app.search.sales'
|
|
|
256
|
+ }, params)), true);
|
|
|
257
|
+};
|
338
|
|
258
|
|
339
|
/**
|
259
|
/**
|
340
|
* 获取商品数据
|
260
|
* 获取商品数据
|
341
|
*/
|
261
|
*/
|
342
|
-exports.getSearchData = (params) => {
|
|
|
343
|
- return api.get('', sign.apiSign(Object.assign({
|
|
|
344
|
- method: 'app.search.sales'
|
|
|
345
|
- }, params))).then((result) => {
|
262
|
+exports.getFilterData = (params) => {
|
|
|
263
|
+ return searchSales(params).then((result) => {
|
346
|
if (result && result.code === 200) {
|
264
|
if (result && result.code === 200) {
|
347
|
- return processSearch(result);
|
265
|
+ return processFilter(result.data.filter || []);
|
348
|
} else {
|
266
|
} else {
|
349
|
logger.error('SALE 商品搜索返回 code 不是 200');
|
267
|
logger.error('SALE 商品搜索返回 code 不是 200');
|
350
|
return [];
|
268
|
return [];
|
|
@@ -353,6 +271,20 @@ exports.getSearchData = (params) => { |
|
@@ -353,6 +271,20 @@ exports.getSearchData = (params) => { |
353
|
};
|
271
|
};
|
354
|
|
272
|
|
355
|
/**
|
273
|
/**
|
|
|
274
|
+ * 获取商品数据
|
|
|
275
|
+ */
|
|
|
276
|
+exports.getSearchData = (params) => {
|
|
|
277
|
+ return searchSales(params).then((result) => {
|
|
|
278
|
+ if (result && result.code === 200) {
|
|
|
279
|
+ return processProductList(result.data.product_list || []);
|
|
|
280
|
+ } else {
|
|
|
281
|
+ logger.error('SALE 商品搜索返回 code 不是 200');
|
|
|
282
|
+ return {};
|
|
|
283
|
+ }
|
|
|
284
|
+ });
|
|
|
285
|
+};
|
|
|
286
|
+
|
|
|
287
|
+/**
|
356
|
* 获取资源位数据
|
288
|
* 获取资源位数据
|
357
|
*/
|
289
|
*/
|
358
|
const getResources = (page) => {
|
290
|
const getResources = (page) => {
|
|
@@ -391,32 +323,20 @@ const getBreakingSort = (yhChannel) => { |
|
@@ -391,32 +323,20 @@ const getBreakingSort = (yhChannel) => { |
391
|
});
|
323
|
});
|
392
|
};
|
324
|
};
|
393
|
|
325
|
|
394
|
-const getSpecial = (params) => {
|
|
|
395
|
-
|
|
|
396
|
-}
|
|
|
397
|
-
|
|
|
398
|
/**
|
326
|
/**
|
399
|
- * 获取商品数据
|
327
|
+ * 获取sale首页数据
|
400
|
*/
|
328
|
*/
|
401
|
-exports.getSearchData = (params) => {
|
|
|
402
|
- params = params || {};
|
|
|
403
|
- return api.get('', sign.apiSign(Object.assign({
|
|
|
404
|
- method: 'app.search.sales'
|
|
|
405
|
- }, params))).then((result) => {
|
|
|
406
|
- if (result && result.code === 200) {
|
|
|
407
|
- return processSearch(result.data.product_list || []);
|
|
|
408
|
- } else {
|
|
|
409
|
- logger.error('SALE 商品搜索返回 code 不是 200');
|
|
|
410
|
- return {};
|
|
|
411
|
- }
|
|
|
412
|
- });
|
329
|
+exports.getSaleData = () => {
|
|
|
330
|
+ return getResources('sale');
|
413
|
};
|
331
|
};
|
414
|
|
332
|
|
415
|
/**
|
333
|
/**
|
416
|
- * 获取sale首页数据
|
334
|
+ * 获取会员享数据
|
|
|
335
|
+ * @param {[object]} params
|
|
|
336
|
+ * @return {[object]}
|
417
|
*/
|
337
|
*/
|
418
|
-exports.getSaleData = () => {
|
|
|
419
|
- return getResources('sale');
|
338
|
+exports.getVipData = () => {
|
|
|
339
|
+ return getResources('vip');
|
420
|
};
|
340
|
};
|
421
|
|
341
|
|
422
|
/**
|
342
|
/**
|
|
@@ -434,6 +354,10 @@ exports.getBreakCodeData = (params) => { |
|
@@ -434,6 +354,10 @@ exports.getBreakCodeData = (params) => { |
434
|
});
|
354
|
});
|
435
|
};
|
355
|
};
|
436
|
|
356
|
|
|
|
357
|
+
|
|
|
358
|
+// const getSpecial = (params) => {
|
|
|
359
|
+//
|
|
|
360
|
+// };
|
437
|
/**
|
361
|
/**
|
438
|
* 获取折扣专场专题列表数据
|
362
|
* 获取折扣专场专题列表数据
|
439
|
* @param {[object]} params
|
363
|
* @param {[object]} params
|
|
@@ -486,13 +410,3 @@ exports.getSpecialDetailData = (id) => { |
|
@@ -486,13 +410,3 @@ exports.getSpecialDetailData = (id) => { |
486
|
}
|
410
|
}
|
487
|
});
|
411
|
});
|
488
|
}; |
412
|
}; |
489
|
-
|
|
|
490
|
-
|
|
|
491
|
-/**
|
|
|
492
|
- * 获取会员享数据
|
|
|
493
|
- * @param {[object]} params
|
|
|
494
|
- * @return {[object]}
|
|
|
495
|
- */
|
|
|
496
|
-exports.getVipData = (params) => {
|
|
|
497
|
- return getResources('vip');
|
|
|
498
|
-}; |
|
|