Authored by 于良

经典店铺、领券中心数据曝光 review by 盖剑秋

... ... @@ -213,8 +213,8 @@ function shopDataExposure(eventName, data) {
let params = {
DATA: data,
};
// console.log(eventName)
// console.log(params)
console.log(eventName)
console.log(params)
ReactNative.NativeModules.YH_CommonHelper.logEvent(eventName, params);
};
}
... ... @@ -255,12 +255,12 @@ export function getShopResources() {
return new BrandStoreService(app.host).fetchShopResources(shopId)
.then(json => {
let payload = parseShopResources(json, shopId);
dispatch(shopResourcesSuccess(payload));
dispatch(shopResourcesSuccess(payload.data));
dispatch(getHotProduct());
dispatch(getProductList());
// 数据曝光
dispatch(shopDataExposure('YB_SHOW_CLASSICAL_SHOP_RESOURCE_LIST', ''));
dispatch(shopDataExposure('YB_SHOW_CLASSICAL_SHOP_RESOURCE_LIST', payload.logData));
})
.catch(error => {
dispatch(shopResourcesFailure(error));
... ... @@ -315,7 +315,9 @@ export function getShopCouponList() {
.then(json => {
let payload = parseCouponList(json);
dispatch(shopCouponListSuccess(payload.shopCoupons));
dispatch(shopDataExposure('YB_SHOW_CLASSICAL_SHOP_COUPON_LIST', payload.logShopCoupons))
// 数据曝光
dispatch(shopDataExposure('YB_SHOW_CLASSICAL_SHOP_COUPON_LIST', payload.logShopCoupons));
})
.catch(error => {
dispatch(shopCouponListFailure(error));
... ... @@ -411,12 +413,12 @@ export function getHotProduct() {
let logData = [];
payload && payload.map((item, i) => {
logData.push({
I_INDEX: i,
I_INDEX: i + 1,
IMAGE_URL: item.default_images ? item.default_images : '',
PRODUCT_SKN: item.product_skn ? item.product_skn : 0,
});
});
dispatch(shopDataExposure('YB_SHOW_CLASSICAL_SHOP_HOT_PRODUCT_LIST', logData))
dispatch(shopDataExposure('YB_SHOW_CLASSICAL_SHOP_HOT_PRODUCT_LIST', logData));
})
.catch(error => {
dispatch(hotProductFailure(error));
... ... @@ -530,13 +532,27 @@ export function getProductList(reload=false) {
.then(json => {
let payload = parseProductList(json);
payload.endReached = payload.currentPage == payload.pageCount || payload.list.length < pageSize;
// 数据曝光 新格式
let logData = [];
payload.list && payload.list.map((item, i) => {
logData.push({
I_INDEX: i + 1,
IMAGE_URL: item.default_images ? item.default_images : '',
PRODUCT_SKN: item.product_skn ? item.product_skn : 0,
});
});
dispatch(shopDataExposure('YB_SHOW_CLASSICAL_SHOP_PRODUCT_LIST', logData));
if (payload.currentPage > 1) {
let oldList = productList.list.toJS();
let list = [...oldList, ...payload.list];
payload.list = list;
}
dispatch(productListSuccess(payload));
exploseProductList(shopId, order, allFilterFactors,brandId, payload.recId, payload.list);
// 数据曝光 旧格式
dispatch(exploseProductList(shopId, order, allFilterFactors,brandId, payload.recId, payload.list));
})
.catch(error => {
dispatch(productListFailure(error));
... ... @@ -544,18 +560,20 @@ export function getProductList(reload=false) {
};
}
function exploseProductList(shopId, order, allFilterFactors,brandId, recId, list) {
let param = {
function exploseProductList(shopId, order, allFilterFactors, brandId, recId, list) {
return (dispatch, getState) => {
let param = {
TYPE_ID: 6,
ENT_ID: shopId,
TOTAL: list.lenth,
PRD_LIST: list,
SORT_TYPE: order,
REC_ID: recId,
}
ReactNative.NativeModules.YH_CommonHelper.logEvent('YB_GOODS_LIST', param);
console.log('YB_GOODS_LIST------------');
console.log(param);
}
ReactNative.NativeModules.YH_CommonHelper.logEvent('YB_GOODS_LIST', param);
console.log('YB_GOODS_LIST------------');
console.log(param);
};
}
function randomString(len) {
... ... @@ -876,7 +894,7 @@ export function getProductListForPersopn(reload=false) {
let logData = [];
payload.list && payload.list.map((item, i) => {
logData.push({
I_INDEX: i,
I_INDEX: i + 1,
IMAGE_URL: item.default_images ? item.default_images : '',
PRODUCT_SKN: item.product_skn ? item.product_skn : 0,
});
... ... @@ -949,12 +967,12 @@ export function getProductListForNew(reload=false) {
let logData = [];
payload.list && payload.list.map((item, i) => {
logData.push({
I_INDEX: i,
I_INDEX: i + 1,
IMAGE_URL: item.default_images ? item.default_images : '',
PRODUCT_SKN: item.product_skn ? item.product_skn : 0,
});
});
dispatch(shopDataExposure('YB_SHOW_CLASSICAL_NEW_TAB_PRODUCT_LIST', logData));
dispatch(shopDataExposure('YB_SHOW_CLASSICAL_SHOP_NEW_TAB_PRODUCT_LIST', logData));
})
.catch(error => {
... ...
... ... @@ -73,7 +73,7 @@ function brandBrowseParser(resData, shopId, resourceId) {
single,
brandId,
brands,
resourceId,
resourceId,
};
}
... ... @@ -138,38 +138,90 @@ export function parseShopResources(json, shopId) {
let recommend_APP = {};
let hotProducts_APP = {};
let logData = [];
_.forEach(json.list, floor => {
let resData = JSON.parse(floor.resource_data);
let resource_name = floor.resource_name;
let resourceId = floor.resource_id;
let logList = [];
switch(resource_name) {
case 'shopTopBanner_APP':
shopTopBanner_APP = shopTopBanner_APPParser(resData);
logList.push({
I_INDEX : '1',
IMAGE_URL: shopTopBanner_APP ? shopTopBanner_APP : '',
ACTION_URL : '',
});
break;
case 'oneRowTwoColImages_APP':
oneRowTwoColImages_APP = oneRowTwoColImages_APPParser(resData, shopId,resourceId);
oneRowTwoColImages_APP.map((item, i) => {
logList.push({
I_INDEX : i + 1,
IMAGE_URL: item.src,
ACTION_URL : item.url,
});
});
break;
case 'brandBrowse':
brandBrowse = brandBrowseParser(resData, shopId, resourceId);
logList.push({
I_INDEX : '1',
BRAND_ID: brandBrowse.brandId,
});
break;
case 'largeSlideImg_APP':
largeSlideImg_APP = largeSlideImg_APPParser(resData, shopId, resourceId);
largeSlideImg_APP.map((item, i) => {
logList.push({
I_INDEX : i + 1,
IMAGE_URL: item.src,
ACTION_URL : item.url,
});
});
break;
case 'recommend_APP':
recommend_APP = recommend_APPParser(resData, shopId, resourceId);
recommend_APP.list.map((item, i) => {
logList.push({
I_INDEX : i + 1,
IMAGE_URL: item.src,
ACTION_URL : item.url,
});
});
break;
case 'hotProducts_APP':
hotProducts_APP = hotProducts_APPParser(resData, shopId, resourceId);
logList.push({
I_INDEX : '0',
PRODUCT_SKN: hotProducts_APP.productSkn,
MORE_URL : hotProducts_APP.moreUrl,
});
break;
}
});
if (logList.length > 0) {
logData.push({
F_NAME : resource_name,
F_ID : resourceId,
LIST: logList,
});
}
});
let data = {
shopTopBanner_APP,
oneRowTwoColImages_APP,
brandBrowse,
largeSlideImg_APP,
recommend_APP,
hotProducts_APP,
};
return {
shopTopBanner_APP,
oneRowTwoColImages_APP,
brandBrowse,
largeSlideImg_APP,
recommend_APP,
hotProducts_APP,
data,
logData,
};
}
... ...
... ... @@ -165,7 +165,7 @@ function parseFloors(json) {
data = carousel_banner(item.data);
data.map((item, i) => {
logData.push({
I_INDEX: i,
I_INDEX: i + 1,
IMAGE_URL: item.url,
ACTION_URL: item.src,
});
... ... @@ -174,7 +174,7 @@ function parseFloors(json) {
data = focus(item.data);
data.map((item, i) => {
logData.push({
I_INDEX: i,
I_INDEX: i + 1,
IMAGE_URL: item.url,
ACTION_URL: item.src,
});
... ... @@ -182,13 +182,13 @@ function parseFloors(json) {
} else if (templateName == 'text') {
data = text(item.data);
logData.push({
I_INDEX: 0,
I_INDEX: 1,
TEXT: data,
});
} else if (templateName == 'single_image') {
data = single_image(item.data);
logData.push({
I_INDEX: 0,
I_INDEX: 1,
IMAGE_URL: data.url,
ACTION_URL: data.src,
});
... ... @@ -203,7 +203,7 @@ function parseFloors(json) {
}
} else {
logData.push({
I_INDEX: 0,
I_INDEX: 1,
IMAGE_URL: data.image.url,
ACTION_URL: data.image.src,
COUPON_ID: data.couponID,
... ... @@ -237,7 +237,8 @@ function dataExposure(data) {
let params = {
DATA: data,
};
console.log(params)
// console.log('YB_SHOW_COUPON_CENTER')
// console.log(params)
ReactNative.NativeModules.YH_CommonHelper.logEvent('YB_SHOW_COUPON_CENTER', params);
};
}
... ...