|
|
'use strict';
|
|
|
|
|
|
import ReactNative from 'react-native';
|
|
|
import ReactNative, {
|
|
|
Platform,
|
|
|
} from 'react-native';
|
|
|
import BrandStoreService from '../../services/BrandStoreService';
|
|
|
import * as _ from 'lodash';
|
|
|
import {parseShopResources} from '../../utils/ResourceParser';
|
...
|
...
|
@@ -445,6 +447,15 @@ export function getHotProduct() { |
|
|
json.product_list[key].tags[0] = 'is_hot';
|
|
|
});
|
|
|
let payload = json.product_list;
|
|
|
let order = '';
|
|
|
try {
|
|
|
payload = exposePruductListData(payload,order,app.channel,0);
|
|
|
} catch (e) {
|
|
|
|
|
|
} finally {
|
|
|
|
|
|
}
|
|
|
|
|
|
dispatch(hotProductSuccess(payload));
|
|
|
|
|
|
// 数据曝光
|
...
|
...
|
@@ -567,7 +578,7 @@ export function getProductList(reload=false) { |
|
|
dispatch(productListRequest());
|
|
|
return new BrandStoreService(app.host).productList(shopId, channel, order, page, pageSize, allFilterFactors,brandId)
|
|
|
.then(json => {
|
|
|
let payload = parseProductList(json);
|
|
|
let payload = parseProductList(json,order,app.channel,0);
|
|
|
payload.endReached = payload.currentPage == payload.pageCount || payload.list.length < pageSize;
|
|
|
|
|
|
// 数据曝光 新格式
|
...
|
...
|
@@ -643,13 +654,21 @@ function randomString(len) { |
|
|
return pwd;
|
|
|
}
|
|
|
|
|
|
function parseProductList(json) {
|
|
|
function parseProductList(json,order,channel,index) {
|
|
|
let list = json && json.product_list ? json.product_list : [];
|
|
|
try {
|
|
|
list = exposePruductListData(list,order,channel,index);
|
|
|
} catch (e) {
|
|
|
|
|
|
} finally {
|
|
|
|
|
|
}
|
|
|
|
|
|
let currentPage = json && json.page ? json.page : 1;
|
|
|
let pageCount = json && json.page_total ? json.page_total : 0;
|
|
|
let total = json && json.total ? json.total : 0;
|
|
|
|
|
|
let filter = json && json.filter ? json.filter : {};
|
|
|
let list = json && json.product_list ? json.product_list : [];
|
|
|
let filterCategoryDetailFilterList = {};
|
|
|
let categoryFilterList = [];
|
|
|
|
...
|
...
|
@@ -838,6 +857,73 @@ function parseProductList(json) { |
|
|
|
|
|
}
|
|
|
|
|
|
function exposePruductListData(list,order,channel,index) {
|
|
|
|
|
|
|
|
|
if (!list) {
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
let tab_name = '默认';
|
|
|
let tab_num = 0;
|
|
|
|
|
|
if (order == 's_t_desc') {
|
|
|
tab_name = '最新';
|
|
|
tab_num = 0;
|
|
|
}
|
|
|
if (order == 's_p_asc' || order == 's_p_desc') {
|
|
|
tab_name = '价格';
|
|
|
tab_num = 1;
|
|
|
}
|
|
|
if (order == 'p_d_asc' || order == 'p_d_desc') {
|
|
|
tab_name = '折扣';
|
|
|
tab_num = 2;
|
|
|
}
|
|
|
|
|
|
let pageName = 'iFP_BrandStore';
|
|
|
|
|
|
if (Platform.OS === 'android') {
|
|
|
pageName = 'aFP_BrandStore';
|
|
|
}
|
|
|
let channelStr = 'boy';
|
|
|
if (channel == '1') {
|
|
|
channelStr = 'boy';
|
|
|
}else if (channel == '2') {
|
|
|
channelStr = 'girl';
|
|
|
}else if (channel == '3') {
|
|
|
channelStr = 'kid';
|
|
|
}else if (channel == '4') {
|
|
|
channelStr = 'leftStyle';
|
|
|
}
|
|
|
|
|
|
let l2_TAB_NAM = '首页';
|
|
|
if (index == 0) {
|
|
|
l2_TAB_NAM = '首页';
|
|
|
}else if (channel == 1) {
|
|
|
l2_TAB_NAM = '上新';
|
|
|
}else if (channel == 3) {
|
|
|
l2_TAB_NAM = '人气';
|
|
|
}
|
|
|
for (var i = 0; i < list.length; i++) {
|
|
|
let item = list[i];
|
|
|
let skn = item.product_skn;
|
|
|
let inFloorIndex = parseInt(i) + 1 + '';
|
|
|
let params = {
|
|
|
P_NAME : pageName,
|
|
|
I_INDEX : inFloorIndex,
|
|
|
PRD_SKN : skn,
|
|
|
TAB_NAM : tab_name,
|
|
|
TAB_ID : tab_num,
|
|
|
P_PARAM : channelStr,
|
|
|
C_ID: channel,
|
|
|
L2_TAB_ID: index,
|
|
|
L2_TAB_NAM: l2_TAB_NAM,
|
|
|
exposureEnd : 1,
|
|
|
};
|
|
|
item.yh_exposureData = params;
|
|
|
}
|
|
|
return list;
|
|
|
}
|
|
|
|
|
|
function toArray(obj) {
|
|
|
if (_.isArray(obj)) {
|
...
|
...
|
@@ -936,7 +1022,7 @@ export function getProductListForPersopn(reload=false) { |
|
|
return new BrandStoreService(app.host).productListForPerson(shopId, channel, order, page, pageSize,brandId)
|
|
|
.then(json => {
|
|
|
|
|
|
let payload = parseProductList(json);
|
|
|
let payload = parseProductList(json,order,app.channel,2);
|
|
|
payload.endReached = payload.currentPage == payload.pageCount;
|
|
|
|
|
|
if (payload.currentPage > 1) {
|
...
|
...
|
@@ -1008,7 +1094,7 @@ export function getProductListForNew(reload=false) { |
|
|
return new BrandStoreService(app.host).productListForNew(shopId, channel, order, page, pageSize,brandId)
|
|
|
.then(json => {
|
|
|
|
|
|
let payload = parseProductList(json);
|
|
|
let payload = parseProductList(json,order,app.channel,1);
|
|
|
payload.endReached = payload.currentPage == payload.pageCount;
|
|
|
|
|
|
if (payload.currentPage > 1) {
|
...
|
...
|
|