Authored by Yincheng

发现好货资源位数据和UI更新

reviewed by gaijianqiu
... ... @@ -34,7 +34,7 @@ export default class List extends Component {
renderRow(rowData,sectionID,rowID,highlightRow) {
switch (sectionID) {
case 'banner': {
return <ListBannerSwiper resource={rowData} onPressSlideItem={this.props.onJumpWithUrl}/>
return <ListBannerSwiper resource={rowData} onPressBanner={this.props.onPressBanner}/>
}
break;
case 'list': {
... ... @@ -51,10 +51,15 @@ export default class List extends Component {
let isFetching = (isProductListFetching && products.page == 0) || banner.isFetching;
let list = products.list && products.list.toJS();
let bannerList = banner.data && banner.data.toJS();
let bannerData = [];
if (banner.data && banner.data.toJS()) {
let bannerDataArray = banner.data.toJS();
if (bannerDataArray.length > 0) {
bannerData = bannerDataArray[0].data;
}
}
let dataBlob = {
'banner': bannerList ? [bannerList] : [],
'banner': bannerData.length ? [bannerData] : [],
'list': list ? list : [],
};
... ...
... ... @@ -65,17 +65,15 @@ export default class ListBannerSwiper extends React.Component {
height={height}
>
{resource.map((item, i) => {
let obj = item.data[0];
return (
<TouchableOpacity
key={i}
activeOpacity={1}
onPress={() => {
this.props.onPressSlideItem && this.props.onPressSlideItem(obj.url);
this.props.onPressBanner && this.props.onPressBanner(item.url);
}}
>
<SlicedImage source={{uri: obj.src}} style={{width, height}}/>
<SlicedImage source={{uri: item.src}} style={{width, height}}/>
</TouchableOpacity>
);
})}
... ...
... ... @@ -47,6 +47,7 @@ class ListContainer extends Component {
constructor(props) {
super(props);
this._onPressDetail = this._onPressDetail.bind(this);
this._onPressBanner = this._onPressBanner.bind(this);
this._onEndReached = this._onEndReached.bind(this);
}
... ... @@ -66,8 +67,14 @@ class ListContainer extends Component {
ReactNative.NativeModules.YH_CommonHelper.pushGoodGoodsRecommendDetailWithProductSKN(product_skn + '');
}
_onPressBanner(url) {
if (!url) {
return;
}
ReactNative.NativeModules.YH_CommonHelper.jumpWithUrl(url);
}
_onEndReached() {
console.log('onasdfadfadfa');
InteractionManager.runAfterInteractions(() => {
this.props.actions.getProductList();
});
... ... @@ -80,6 +87,7 @@ class ListContainer extends Component {
resource={list}
onPressDetail={this._onPressDetail}
onEndReached={this._onEndReached}
onPressBanner={this._onPressBanner}
/>
);
}
... ...
... ... @@ -106,8 +106,6 @@ export function fetchBanner() {
dispatch(fetchBannerRequest());
return new ListService(app.serviceHost).fetchBannerData()
.then(json => {
console.log('original');
console.log(json);
dispatch(fetchBannerSuccess(json));
})
.catch(error => {
... ...
... ... @@ -13,7 +13,7 @@ export default class ListService {
}
async getProductListData(channel, gender, uid, page, pageSize) {
this.api = new Request('http://dev-api.yohops.com:9999');
// this.api = new Request('http://dev-api.yohops.com:9999');
return await this.api.get({
url: '',
... ... @@ -37,9 +37,9 @@ export default class ListService {
}
async fetchBannerData() {
this.api = new Request('http://dev-api.yohops.com:9999');
// this.api = new Request('http://service-test3.yohops.com:9999');
let content_code = 'c8dce01a202870415831ac4a553a2da9';
let content_code = 'efe8847a09c501c363ed94f87e32c0d7';
let fromPage = '';
return await this.api.get({
... ...