Authored by 于良

Merge branch '5.5.0' of http://git.yoho.cn/mobile/YH_RNComponent into 5.5.0

... ... @@ -64,7 +64,7 @@ export default class ActivityProductFloor extends Component {
let imgUrl = SlicedImage.getSlicedUrl(rowData.get('default_images'),cellWidth,120,2);
return (
<TouchableOpacity
activeOpacity={1}
activeOpacity={1} yh_exposureData={rowData.get('yh_exposureData')}
onPress={()=>{
this.props.onPressVipProduct && this.props.onPressVipProduct(rowData, imgUrl, index+rowID)
}}
... ... @@ -101,7 +101,8 @@ export default class ActivityProductFloor extends Component {
let floorH = cellH + 40 + bannerHeight;
return (
<View style={{backgroundColor: 'white',width:width,height:floorH}}>
<HeadTitleCell title={title} moreUrl={moreUrl} onPressTitleMore={this.props.onPressTitleMore}/>
<HeadTitleCell title={title} moreUrl={moreUrl}
onPressTitleMore={this.props.onPressTitleMore} yh_exposureData={data.get('title').get('yh_exposureData')}/>
<ImageSlider
resource={bannerData}
sliderWidth={width}
... ...
... ... @@ -38,7 +38,8 @@ export default class HotCategoryIndividualization extends Component {
let containerHeight = listHeight + 40;
return (
<View style={[styles.container, {height: containerHeight}]}>
<HeadTitleCell title={title.get('title')} moreUrl={title.get('more_url')} onPressTitleMore={this.props.onPressTitleMore}/>
<HeadTitleCell title={title.get('title')} moreUrl={title.get('more_url')}
onPressTitleMore={this.props.onPressTitleMore} yh_exposureData={title.get('yh_exposureData')}/>
<View style={[styles.list, {height: listHeight}]}>
{data.map((item, i) => {
let url = YH_Image.getSlicedUrl(item.get('src'), imageWidth, imageHeight, 2);
... ... @@ -47,6 +48,7 @@ export default class HotCategoryIndividualization extends Component {
key={i}
style={styles.cellContainer}
activeOpacity={1}
yh_exposureData={item.get('yh_exposureData')}
onPress={() => {
this.props.onPressVipBannerItem && this.props.onPressVipBannerItem(item.get('url'), url, i + 1);
}}>
... ...
... ... @@ -30,6 +30,7 @@ export default class LivePicture extends Component{
render(){
let data = this.props.data;
let title = data.get("title");
let imglst = data.get("list");
... ... @@ -39,21 +40,22 @@ export default class LivePicture extends Component{
return(
<View style={styles.container}>
<HeadTitleCell title={title.get('title')} moreUrl={title.get('more_url')} onPressTitleMore={this.props.onPressTitleMore} />
<HeadTitleCell title={title.get('title')} moreUrl={title.get('more_url')}
onPressTitleMore={this.props.onPressTitleMore} yh_exposureData={title.get('yh_exposureData')} />
<View style={styles.imageContainer}>
<TouchableOpacity activeOpacity={1}
<TouchableOpacity activeOpacity={1} yh_exposureData={imglst.get(0).get('yh_exposureData')}
onPress={() => this.props.onPressImageItem && this.props.onPressImageItem(imglst.get(0).get('url'), image1Url, 0)}>
<YH_Image style={styles.imageLeftAndRight} url={image1Url}/>
</TouchableOpacity>
<TouchableOpacity activeOpacity={1}
<TouchableOpacity activeOpacity={1} yh_exposureData={imglst.get(1).get('yh_exposureData')}
onPress={() => this.props.onPressImageItem && this.props.onPressImageItem(imglst.get(1).get('url'), image2Url, 1)}>
<YH_Image style={styles.imageMiddle} url={image2Url}/>
</TouchableOpacity>
<TouchableOpacity activeOpacity={1}
<TouchableOpacity activeOpacity={1} yh_exposureData={imglst.get(2).get('yh_exposureData')}
onPress={() => this.props.onPressImageItem && this.props.onPressImageItem(imglst.get(2).get('url'), image3Url, 2)}>
<YH_Image style={styles.imageLeftAndRight} url={image3Url}/>
</TouchableOpacity>
... ...
... ... @@ -46,7 +46,7 @@ export default class PopularSingleProduct extends Component{
return (
<TouchableOpacity
activeOpacity={1}
activeOpacity={1} yh_exposureData={rowData.get('yh_exposureData')}
onPress={() => this.props.onPressToProductDetail && this.props.onPressToProductDetail(rowData, goodsImageUrl, index)}
>
... ... @@ -71,7 +71,6 @@ export default class PopularSingleProduct extends Component{
render(){
let data = this.props.data;
let background = data.get("background");
let banner = data.get("banner_image");
... ... @@ -80,7 +79,8 @@ export default class PopularSingleProduct extends Component{
return(
<View style={styles.container}>
<HeadTitleCell title={title.get('title')} moreUrl={title.get('more_url')} onPressTitleMore={this.props.onPressTitleMore} />
<HeadTitleCell title={title.get('title')} moreUrl={title.get('more_url')}
onPressTitleMore={this.props.onPressTitleMore} yh_exposureData={title.get('yh_exposureData')} />
<ImageSlider
resource={banner}
sliderWidth={width}
... ...
... ... @@ -107,7 +107,8 @@ export default class Sale1T1L4R extends Component{
return(
<View style={[styles.container, {height: containerHeight}]}>
<HeadTitleCell title={title.get('title')} moreUrl={title.get('more_url')} onPressTitleMore={this.props.onPressTitleMore} />
<HeadTitleCell title={title.get('title')} moreUrl={title.get('more_url')}
onPressTitleMore={this.props.onPressTitleMore} yh_exposureData={title.get('yh_exposureData')}/>
<ImageSlider
resource={banner}
... ... @@ -118,7 +119,7 @@ export default class Sale1T1L4R extends Component{
<View style={styles.imageContainer}>
<TouchableOpacity style={styles.leftBigImageContainer} activeOpacity={1}
<TouchableOpacity style={styles.leftBigImageContainer} activeOpacity={1} yh_exposureData={imglst.get(0).get('yh_exposureData')}
onPress={() => this.props.onPressImageItem && this.props.onPressImageItem(imglst.get(0).get('url'), leftBigImageUrl, index)}>
<YH_Image style={styles.leftBigImage} url={leftBigImageUrl}/>
... ... @@ -137,22 +138,22 @@ export default class Sale1T1L4R extends Component{
</TouchableOpacity>
<TouchableOpacity style={styles.rightTopBigImageContainer} activeOpacity={1}
<TouchableOpacity style={styles.rightTopBigImageContainer} activeOpacity={1} yh_exposureData={imglst.get(1).get('yh_exposureData')}
onPress={() => this.props.onPressImageItem && this.props.onPressImageItem(imglst.get(1).get('url'), rightTopBigImageUrl, index+1)}>
<YH_Image style={styles.rightTopBigImage} url={rightTopBigImageUrl}/>
</TouchableOpacity>
<TouchableOpacity style={styles.rightTopSmallImageContainer} activeOpacity={1}
<TouchableOpacity style={styles.rightTopSmallImageContainer} activeOpacity={1} yh_exposureData={imglst.get(2).get('yh_exposureData')}
onPress={() => this.props.onPressImageItem && this.props.onPressImageItem(imglst.get(2).get('url'), rightTopSmallImageUrl, index+2)}>
<YH_Image style={styles.rightTopSmallImage} url={rightTopSmallImageUrl}/>
</TouchableOpacity>
<TouchableOpacity style={styles.rightBottomBigImageContainer} activeOpacity={1}
<TouchableOpacity style={styles.rightBottomBigImageContainer} activeOpacity={1} yh_exposureData={imglst.get(3).get('yh_exposureData')}
onPress={() => this.props.onPressImageItem && this.props.onPressImageItem(imglst.get(3).get('url'), rightBottomBigImageUrl, index+3)}>
<YH_Image style={styles.rightBottomBigImage} url={rightBottomBigImageUrl}/>
</TouchableOpacity>
<TouchableOpacity style={styles.rightBottomSmallImageContainer} activeOpacity={1}
<TouchableOpacity style={styles.rightBottomSmallImageContainer} activeOpacity={1} yh_exposureData={imglst.get(4).get('yh_exposureData')}
onPress={() => this.props.onPressImageItem && this.props.onPressImageItem(imglst.get(4).get('url'), rightBottomSmallImageUrl, index+4)}>
<YH_Image style={styles.rightBottomSmallImage} url={rightBottomSmallImageUrl}/>
</TouchableOpacity>
... ...
... ... @@ -75,7 +75,8 @@ export default class ShopRecommend extends Component{
let state = this.props.favoriteState.toJS();
return (
<View style={styles.container}>
<HeadTitleCell title={title.name} moreUrl={title.more_url} onPressTitleMore={this.props.onPressTitleMore} />
<HeadTitleCell title={title.name} moreUrl={title.more_url}
onPressTitleMore={this.props.onPressTitleMore} yh_exposureData={title.yh_exposureData}/>
<YH_GoodsStore style={styles.store} dataSource={list} favoriteState={state} onClick={this.onClick}/>
</View>
);
... ...
... ... @@ -37,7 +37,7 @@ export default class SixLinesFloor extends Component{
goodsImageUrl = SlicedImage.getSlicedUrl(goodsImageUrl, imageWidth, imageHeight, 2);
return(
<TouchableOpacity activeOpacity={1}
<TouchableOpacity activeOpacity={1} yh_exposureData={rowData.get('yh_exposureData')}
onPress={() => this.props.onPressImageItem && this.props.onPressImageItem(rowData.get('url'), goodsImageUrl, rowID)}>
<YH_Image style={styles.goodsImage} url={goodsImageUrl} />
... ... @@ -48,6 +48,7 @@ export default class SixLinesFloor extends Component{
render(){
let data = this.props.data;
let title = data.get("title");
let imglst = data.get("list");
... ... @@ -55,7 +56,8 @@ export default class SixLinesFloor extends Component{
let containerHeight = 40 + lineNumber * imageHeight;
return(
<View style={[styles.container, {height: containerHeight}]}>
<HeadTitleCell title={title.get('name')} moreUrl={title.get('more_url')} onPressTitleMore={this.props.onPressTitleMore}/>
<HeadTitleCell title={title.get('name')} moreUrl={title.get('more_url')}
onPressTitleMore={this.props.onPressTitleMore} yh_exposureData={title.get('yh_exposureData')}/>
<ListView
contentContainerStyle={styles.listViewContainer}
dataSource={this.dataSource.cloneWithRows(imglst.toArray())}
... ...
... ... @@ -45,7 +45,7 @@ export default class VipUserFloor extends Component {
let productSkn = rowData.get('product_skn');
let imgUrl = SlicedImage.getSlicedUrl(rowData.get('default_images'),cellWidth,120,2);
return (
<TouchableOpacity style={styles.row}
<TouchableOpacity style={styles.row} yh_exposureData={rowData.get('yh_exposureData')}
onPress={()=>this.props.onPressVipProduct && this.props.onPressVipProduct(rowData, imgUrl, index + rowID)}>
<YH_Image style={styles.image}
url={imgUrl}
... ... @@ -69,7 +69,8 @@ export default class VipUserFloor extends Component {
let productData = data.get('list');
return (
<View style={styles.container}>
<HeadTitleCell title={title} moreUrl={moreUrl}/>
<HeadTitleCell title={title} moreUrl={moreUrl}
onPressTitleMore={this.props.onPressTitleMore} yh_exposureData={data.get('title').get('yh_exposureData')}/>
<ImageSlider
resource={bannerData}
sliderWidth={width}
... ...
... ... @@ -1024,7 +1024,7 @@ function homeFloorAutoReportData(list,channel) {
break;
}
case 'popular_single_product': {
//more添加曝光数据
//more添加曝光数据
let title = floorData.title ? floorData.title : {};
let titleParam = autoReportData(channlStr,floorName,floorID,floorIndex,"0",title.more_url);
title.yh_exposureData = titleParam;
... ... @@ -1056,30 +1056,115 @@ function homeFloorAutoReportData(list,channel) {
break;
}
case 'sixLinesFloor': {
//more添加曝光数据
let title = floorData.title ? floorData.title : {};
let moreUrl = title.more_url ? title.more_url : "";
let titleParam = autoReportData(channlStr,floorName,floorID,floorIndex,"0",moreUrl);
title.yh_exposureData = titleParam ? titleParam : "";
break;
//list添加曝光数据
let itemList = floorData.list ? floorData.list : [];
for (let j = 0; j < itemList.length; j++) {
let imageItem = itemList[j];
let inFloorIndex = parseInt(j) + 1 + '';
let actionUrl = imageItem.url;
let param = autoReportData(channlStr,floorName,floorID,floorIndex,inFloorIndex,actionUrl);
imageItem.yh_exposureData = param;
}
break;
}
case 'livePicture': {
case 'livePicture':{
//more添加曝光数据
let title = floorData.title ? floorData.title : {};
let moreUrl = title.more_url ? title.more_url : "";
let titleParam = autoReportData(channlStr,floorName,floorID,floorIndex,"0",moreUrl);
title.yh_exposureData = titleParam ? titleParam : "";
break;
//list添加曝光数据
let itemList = floorData.list ? floorData.list : [];
for (let j = 0; j < itemList.length; j++) {
let imageItem = itemList[j];
let inFloorIndex = parseInt(j) + 1 + '';
let actionUrl = imageItem.url;
let param = autoReportData(channlStr,floorName,floorID,floorIndex,inFloorIndex,actionUrl);
imageItem.yh_exposureData = param;
}
break;
}
case 'sale-1t-1l-4r': {
//more添加曝光数据
let title = floorData.title ? floorData.title : {};
let titleParam = autoReportData(channlStr,floorName,floorID,floorIndex,"0",title.more_url);
title.yh_exposureData = titleParam;
break;
}
case 'vipUse': {
//banner添加曝光数据
let banner = floorData.big_image ? floorData.big_image : [];
let bannerLength = banner.length ? banner.length : 0;
for (var j = 0; j < bannerLength; j++) {
let bannerItem = banner[j];
let inFloorIndex = parseInt(j) + 1 + '';
let actionUrl = bannerItem.url;
let param = autoReportData(channlStr,floorName,floorID,floorIndex,inFloorIndex,actionUrl);
bannerItem.yh_exposureData = param;
}
break;
//list添加曝光数据
let itemList = floorData.list ? floorData.list : [];
for (var j = 0; j < itemList.length; j++) {
let imageItem = itemList[j];
let inFloorIndex = parseInt(j) + 1 + bannerLength + '';
let actionUrl = imageItem.url;
let param = autoReportData(channlStr,floorName,floorID,floorIndex,inFloorIndex,actionUrl);
imageItem.yh_exposureData = param;
}
break;
}
case 'activityProductFloor': {
case 'vipUse':
case 'activityProductFloor':
case 'new_user_floor': {
//more添加曝光数据
let title = floorData.title ? floorData.title : {};
let titleParam = autoReportData(channlStr,floorName,floorID,floorIndex,"0",title.more_url);
title.yh_exposureData = titleParam;
//banner添加曝光数据
let banner = floorData.banner_image ? floorData.banner_image : [];
let bannerLength = banner.length ? banner.length : 0;
for (var j = 0; j < bannerLength; j++) {
let bannerItem = banner[j];
let inFloorIndex = parseInt(j) + 1 + '';
let actionUrl = bannerItem.url;
let param = autoReportData(channlStr,floorName,floorID,floorIndex,inFloorIndex,actionUrl);
bannerItem.yh_exposureData = param;
}
break;
//list添加曝光数据
let itemList = floorData.list ? floorData.list : [];
for (var j = 0; j < itemList.length; j++) {
let imageItem = itemList[j];
let inFloorIndex = parseInt(j) + 1 + bannerLength + '';
let skn = imageItem.product_skn;
let param = autoReportData(channlStr,floorName,floorID,floorIndex,inFloorIndex,"",skn);
imageItem.yh_exposureData = param;
}
break;
}
case 'hot_category_individualization': {
//more添加曝光数据
let title = floorData.title ? floorData.title : {};
let moreUrl = title.more_url ? title.more_url : "";
let titleParam = autoReportData(channlStr,floorName,floorID,floorIndex,"0",moreUrl);
title.yh_exposureData = titleParam ? titleParam : "";
break;
}
case 'new_user_floor': {
//list添加曝光数据
let itemList = floorData.list ? floorData.list : [];
for (let j = 0; j < itemList.length; j++) {
let imageItem = itemList[j];
let inFloorIndex = parseInt(j) + 1 + '';
let actionUrl = imageItem.url;
let param = autoReportData(channlStr,floorName,floorID,floorIndex,inFloorIndex,actionUrl);
imageItem.yh_exposureData = param;
}
break;
}
}
... ...