Authored by chenl

逛详请埋点。review by 孙凯。

... ... @@ -61,14 +61,15 @@ export default class GoodsCell extends React.Component {
let originPrice = parseFloat(product.sales_price);
let originPriceStr = '¥ ' + originPrice.toFixed(2); // 拼接的原价
let product_skn = product.product_skn;
let prd_id = product.product_id;
return (
<TouchableOpacity
key={product_skn + '_key_' + i}
style={styles.content_View}
activeOpacity={0.5}
onPress={() => {
this.props.onPressProduct && this.props.onPressProduct(value,i);
let pos_id = 103;
this.props.onPressProduct && this.props.onPressProduct(value,i,pos_id);
}}
>
<View style={styles.content_View}>
... ... @@ -83,7 +84,8 @@ export default class GoodsCell extends React.Component {
style={styles.touchableOpacityButton}
activeOpacity={0.5}
onPress={() => {
this.props.onPressShopCar && this.props.onPressShopCar(product.product_skn);
let pos_id = 106;
this.props.onPressShopCar && this.props.onPressShopCar(product.product_skn,prd_id,pos_id);
}}
>
<Image source={require('../../image/jgwc_bt.png')} style={styles.button} resizeMode={'contain'}></Image>
... ...
... ... @@ -20,6 +20,8 @@ const {
export default class GoodsGroupList extends React.Component {
constructor(props) {
super(props);
this._onPressProduct = this._onPressProduct.bind(this);
this.dataSource = new ListView.DataSource({
rowHasChanged: (r1, r2) => !Immutable.is(r1, r2),
});
... ... @@ -33,6 +35,10 @@ export default class GoodsGroupList extends React.Component {
return true;
}
}
_onPressProduct(data, rowID){
let pos_id = 102;
this.props.onPressProduct && this.props.onPressProduct(data, rowID,pos_id);
}
renderRow(rowData, sectionID, rowID, highlightRow) {
... ... @@ -45,7 +51,7 @@ export default class GoodsGroupList extends React.Component {
key={'row' + rowID}
rowID={rowID}
data={rowData}
onPressProduct={this.props.onPressProduct}
onPressProduct={this._onPressProduct}
/>
);
}
... ...
... ... @@ -45,7 +45,8 @@ export default class RecommentProducts extends React.Component {
return (
<TouchableOpacity activeOpacity={0.5} onPress={() => {
this.props.onPressProduct && this.props.onPressProduct(rowData,rowID);
let pos_id = 104;
this.props.onPressProduct && this.props.onPressProduct(rowData,rowID,pos_id);
}}>
<View style={styles.thumbnailV}>
<YH_Image
... ...
... ... @@ -123,19 +123,20 @@ export default class SingleImage extends React.Component {
>
<Image source={require('../../image/KA_dian.png')} style={styles.icon} resizeMode={'contain'}></Image>
<TouchableOpacity activeOpacity={0.5} onPress={() => {
this.props.onPressProduct && this.props.onPressProduct(value.product_skn);
let pos_id = 101;
this.props.onPressProduct && this.props.onPressProduct(value.product_skn,i,pos_id);
}}>
<View style={styles.tagView}>
<Text style={{
maxWidth: screenWidth - value.right - 2*tagHeigth - 20,
height : tagHeigth,
color: 'white',
paddingLeft: 10,
paddingTop: Platform.OS === 'ios' ? 5 : 2,
paddingBottom: Platform.OS === 'ios' ? 5 : 2,
backgroundColor: 'transparent',
}} numberOfLines={1}>{value.tagName}</Text>
<TouchableOpacity style={styles.button} activeOpacity={0.5} onPress={() => {
this.props.onPressShopCar && this.props.onPressShopCar(value.product_skn);
let pos_id = 105;
let product_id = value.product_id?value.product_id:'';
this.props.onPressShopCar && this.props.onPressShopCar(value.product_skn,pos_id,product_id);
}}>
<Image source={require('../../image/dian_gwc_bt.png')} style={styles.image} resizeMode={'contain'}></Image>
</TouchableOpacity>
... ... @@ -182,6 +183,8 @@ let styles = StyleSheet.create({
borderTopRightRadius: 15,
borderBottomRightRadius: 15,
flexDirection: 'row',
justifyContent: 'center',
alignItems: 'center',
},
button: {
height : tagHeigth,
... ...
... ... @@ -91,14 +91,17 @@ class DetailContainer extends Component {
let {articleId} = detail;
ReactNative.NativeModules.YH_CommonHelper.jumpWithUrl(url);
let params = {
TOURL: url,
NAV_NUM: parseInt(rowID) + 1 + '',
CONTENT_ID: articleId,
BRAND_ID: id,
};
ReactNative.NativeModules.YH_CommonHelper.logEvent('YB_STROLL_CONT_BRND', params);
try {
let params = {
TOURL: url,
NAV_NUM: parseInt(rowID) + 1 + '',
CONTENT_ID: articleId,
BRAND_ID: id,
};
ReactNative.NativeModules.YH_CommonHelper.logEvent('YB_STROLL_CONT_BRND', params);
} catch (e) {
console.log(e);
}
}
_onPressArticle(url) {
... ... @@ -119,9 +122,19 @@ class DetailContainer extends Component {
_onPressWeixin(data) {
ReactNative.NativeModules.YH_CommonHelper.copyWechatIdToClipboard(data);
try {
let params = {
FROM: 2,
};
ReactNative.NativeModules.YH_CommonHelper.logEvent('YB_COPY_WECHAT_PN_C', params);
} catch (e) {
console.log(e);
}
}
_onPressProduct(product,rowID) {
_onPressProduct(product,rowID,pos_id) {
let {detail} = this.props;
let {articleId} = detail;
... ... @@ -134,31 +147,61 @@ class DetailContainer extends Component {
let url = `http://m.yohobuy.com?openby:yohobuy={"action":"go.productDetail","params":{"product_skn":"${productSkn}"}}`;
ReactNative.NativeModules.YH_CommonHelper.jumpWithUrl(url);
let params = {
TOURL: '',
PRD_SKN: productSkn,
CONTENT_ID: articleId,
NAV_NUM:parseInt(rowID) + 1 + '',
};
ReactNative.NativeModules.YH_CommonHelper.logEvent('YB_STROLL_CONT_REC_PRD', params);
try {
let params = {
TOURL: '',
PRD_SKN: productSkn,
CONTENT_ID: articleId,
NAV_NUM:parseInt(rowID) + 1 + '',
POS_ID:pos_id,
};
ReactNative.NativeModules.YH_CommonHelper.logEvent('YB_STROLL_CONT_REC_PRD', params);
} catch (e) {
console.log(e);
}
}
_onPressTagProduct(product_skn) {
_onPressTagProduct(product_skn,rowID,pos_id) {
if (!product_skn) {
return;
}
let url = `http://m.yohobuy.com?openby:yohobuy={"action":"go.productDetail","params":{"product_skn":"${product_skn}"}}`;
ReactNative.NativeModules.YH_CommonHelper.jumpWithUrl(url);
try {
let {detail} = this.props;
let {articleId} = detail;
let params = {
TOURL: '',
PRD_SKN: product_skn,
CONTENT_ID: articleId,
NAV_NUM:parseInt(rowID) + 1 + '',
POS_ID:pos_id,
};
ReactNative.NativeModules.YH_CommonHelper.logEvent('YB_STROLL_CONT_REC_PRD', params);
} catch (e) {
console.log(e);
}
}
_onPressShopCar(product_skn) {
_onPressShopCar(product_skn,prd_id,pos_id) {
let param = {
pruduct_skn: product_skn,
fromPage: 'YH_GuangDetailViewController',
}
ReactNative.NativeModules.YH_CommonHelper.showChooseInfoView(param)
try {
let params = {
PRD_ID: prd_id,
PRD_SKN: product_skn,
POS_ID:pos_id,
};
ReactNative.NativeModules.YH_CommonHelper.logEvent('YB_GDS_DT_ADD_CART_C', params);
} catch (e) {
console.log(e);
}
}
render() {
... ...