Authored by 张文文

删除无用代码 reviewd by 陈林

... ... @@ -44,7 +44,7 @@ function mapDispatchToProps(dispatch) {
};
}
class NewArrivalContainer extends Component {
class RecForYouContainer extends Component {
constructor(props) {
super(props);
this._onPressShop = this._onPressShop.bind(this);
... ... @@ -118,4 +118,4 @@ let styles = StyleSheet.create({
});
export default connect(mapStateToProps, mapDispatchToProps)(NewArrivalContainer);
export default connect(mapStateToProps, mapDispatchToProps)(RecForYouContainer);
... ...
... ... @@ -10,13 +10,10 @@ import * as _ from 'lodash';
const {
SET_CHANNEL,
RECOMMEND_SHOP_REQUEST,
RECOMMEND_SHOP_SUCCESS,
RECOMMEND_SHOP_FAILURE,
RECOMMEND_BRAND_REQUEST,
RECOMMEND_BRAND_SUCCESS,
RECOMMEND_BRAND_FAILURE,
GET_SHOPCARTCOUNT_REQUEST,
GET_SHOPCARTCOUNT_SUCCESS,
GET_SHOPCARTCOUNT_FAILURE,
... ...
... ... @@ -3,21 +3,11 @@
import {Record, List, Map} from 'immutable';
let InitialState = Record({
topPart: new (Record({
isFetching: false,
error: null,
topList: List(),
brandList: List(),
featuredList: List(),
})),
resourceInfo: new (Record({
isFetching: false,
error: null,
resourceList: List(),
})),
searchResourceList: List(),
categoryFilterList: List(),
filterCategoryDetailFilterList: List(),
... ... @@ -39,6 +29,7 @@ let InitialState = Record({
sourceType: 0, // 0 - 默认,1 - 购,全球2 - 奥莱
selectedCategoryIndex: 0,
})),
searchResourceList: List(),
filterFactors: new (Record({
gender: '', //性别
... ... @@ -68,6 +59,7 @@ let InitialState = Record({
showSimilarGuider: false,
moreFilterSelectOrder: '',
cart_goods_count: 0,
selectedTabIndex: 0,
selectedTabName: '',
... ...
... ... @@ -6,10 +6,6 @@ import Immutable, {Map} from 'immutable';
const {
SET_CHANNEL,
RECOMMEND_SHOP_REQUEST,
RECOMMEND_SHOP_SUCCESS,
RECOMMEND_SHOP_FAILURE,
RECOMMEND_BRAND_REQUEST,
RECOMMEND_BRAND_SUCCESS,
RECOMMEND_BRAND_FAILURE,
... ... @@ -32,6 +28,7 @@ const {
UPDATE_MORE_FILTER_SELECTED_ORDER,
FILTER_DATA_SUCCESS,
STORE_CURRENT_TAB_VALUE,
RESOURCE_INFO_REQUEST,
... ... @@ -44,156 +41,138 @@ const initialState = new InitialState;
export default function newArrivalReducer(state=initialState, action) {
switch(action.type) {
case RECOMMEND_SHOP_REQUEST: {
return state.setIn(['topPart', 'isFetching'], true).setIn(['topPart', 'error'], null);
}
case RECOMMEND_SHOP_SUCCESS: {
let {
first_part,
shop_list,
second_part,
} = action.payload;
return state.setIn(['topPart', 'topList'], Immutable.fromJS(first_part))
.setIn(['topPart', 'isFetching'], false)
.setIn(['topPart', 'brandList'], Immutable.fromJS(shop_list))
.setIn(['topPart', 'featuredList'], Immutable.fromJS(second_part));
}
case RECOMMEND_SHOP_FAILURE: {
return state.setIn(['topPart', 'isFetching'], false)
.setIn(['topPart', 'error'], action.payload);
}
case PRODUCT_LIST_REQUEST: {
return state.setIn(['productList', 'isFetching'], true)
.setIn(['productList', 'error'], null);
}
case FILTER_LIST_VIEW: {
return state.setIn(['productList', 'isFilter'], action.payload);
}
case FILTER_MORE_VIEW:{
return state.setIn(['productList', 'isMoreFilter'], action.payload);
}
case RESET_LIST_PAGE_INFO: {
return state.setIn(['productList', 'currentPage'], 0)
.setIn(['productList', 'pageCount'], 0)
.setIn(['productList', 'total'], 0)
.setIn(['productList', 'endReached'], false);
}
case SET_PRODUCT_LIST_FILTER: {
return state.setIn(['productList', 'order'], action.payload);
}
case PRODUCT_FILTER_ACTION: {
let {
categoryFilterList,
filterCategoryDetailFilterList,
filterFactors,
filterNameFactors,
} = action.payload;
return state.set('categoryFilterList', Immutable.fromJS(categoryFilterList))
.set('filterCategoryDetailFilterList', Immutable.fromJS(filterCategoryDetailFilterList))
.set('filterNameFactors', Immutable.fromJS(filterNameFactors))
.set('filterFactors', Immutable.fromJS(filterFactors));
}
case PRODUCT_LIST_SUCCESS: {
let {
list,
categoryFilterList,
filterCategoryDetailFilterList,
currentPage,
pageCount,
total,
endReached,
search_resource_list,
} = action.payload;
let newState = state.setIn(['productList', 'isFetching'], false)
.setIn(['productList', 'error'], null)
.setIn(['productList', 'list'], Immutable.fromJS(list))
.setIn(['productList', 'currentPage'], currentPage)
.setIn(['productList', 'pageCount'], pageCount)
.setIn(['productList', 'total'], total)
.setIn(['productList', 'endReached'], endReached)
.set('searchResourceList', Immutable.fromJS(search_resource_list));
return newState;
}
case FILTER_DATA_SUCCESS:{
let {
categoryFilterList,
filterCategoryDetailFilterList,
} = action.payload;
let newState = state.set('categoryFilterList', Immutable.fromJS(categoryFilterList))
.set('filterCategoryDetailFilterList', Immutable.fromJS(filterCategoryDetailFilterList))
.set('filterDataReady',true);
return newState;
}
case SET_SIMILAR_PRODUCT_INDEX: {
let newState = state.setIn(['productList', 'similarIndex'], action.payload);
return newState;
}
case PRODUCT_LIST_FAILURE: {
return state.setIn(['productList', 'isFetching'], false)
.setIn(['productList', 'error'], action.payload);
}
case RECOMMEND_BRAND_REQUEST: {
return state.setIn(['recommendForYou', 'isFetching'], true);
}
case RECOMMEND_BRAND_SUCCESS: {
return state.setIn(['recommendForYou', 'isFetching'], false)
.setIn(['recommendForYou', 'hotBrandList'], Immutable.fromJS(action.payload.hotBrandList))
.setIn(['recommendForYou', 'browseBrandList'], Immutable.fromJS(action.payload.browseBrandList))
.setIn(['recommendForYou', 'newBrandList'], Immutable.fromJS(action.payload.newBrandList));
}
case RECOMMEND_BRAND_FAILURE: {
return state.setIn(['recommendForYou', 'isFetching'], false)
.setIn(['productList', 'error'], action.payload);
}
case SET_SHOW_SIMILAR_GUIDER: {
return state.set('showSimilarGuider', action.payload);
}
case GET_SHOPCARTCOUNT_REQUEST: {
}
case GET_SHOPCARTCOUNT_SUCCESS: {
return state.set('cart_goods_count', action.payload);
}
case GET_SHOPCARTCOUNT_FAILURE: {
}
case UPDATE_MORE_FILTER_SELECTED_ORDER: {
return state.set('moreFilterSelectOrder', action.payload);
}
case RESOURCE_INFO_REQUEST: {
return state.setIn(['resourceInfo', 'isFetching'], true)
.setIn(['resourceInfo', 'error'], action.payload);
}
case RESOURCE_INFO_SUCCESS: {
return state.setIn(['resourceInfo', 'isFetching'], false)
.setIn(['resourceInfo', 'resourceList'], Immutable.fromJS(action.payload))
.setIn(['resourceInfo', 'error'], null);
}
case RESOURCE_INFO_FAILURE: {
return state.setIn(['resourceInfo', 'isFetching'], false)
.setIn(['resourceInfo', 'error'], null);
}
case STORE_CURRENT_TAB_VALUE: {
let {index, tabName, queryList} = action.payload;
return state.setIn(['productList', 'selectedCategoryIndex'], index)
.setIn(['productList', 'currentPage'], 0)
// .setIn(['productList', 'product_list'], List())
.setIn(['productList', 'total'], 0)
.setIn(['productList', 'endReached'], false)
.setIn(['productList', 'error'], null)
.set('selectedTabIndex', index)
.set('selectedTabName', tabName)
.set('selectedTabList', queryList);
}
case PRODUCT_LIST_REQUEST: {
return state.setIn(['productList', 'isFetching'], true)
.setIn(['productList', 'error'], null);
}
case FILTER_LIST_VIEW: {
return state.setIn(['productList', 'isFilter'], action.payload);
}
case FILTER_MORE_VIEW:{
return state.setIn(['productList', 'isMoreFilter'], action.payload);
}
case RESET_LIST_PAGE_INFO: {
return state.setIn(['productList', 'currentPage'], 0)
.setIn(['productList', 'pageCount'], 0)
.setIn(['productList', 'total'], 0)
.setIn(['productList', 'endReached'], false);
}
case SET_PRODUCT_LIST_FILTER: {
return state.setIn(['productList', 'order'], action.payload);
}
case PRODUCT_FILTER_ACTION: {
let {
categoryFilterList,
filterCategoryDetailFilterList,
filterFactors,
filterNameFactors,
} = action.payload;
return state.set('categoryFilterList', Immutable.fromJS(categoryFilterList))
.set('filterCategoryDetailFilterList', Immutable.fromJS(filterCategoryDetailFilterList))
.set('filterNameFactors', Immutable.fromJS(filterNameFactors))
.set('filterFactors', Immutable.fromJS(filterFactors));
}
case PRODUCT_LIST_SUCCESS: {
let {
list,
categoryFilterList,
filterCategoryDetailFilterList,
currentPage,
pageCount,
total,
endReached,
search_resource_list,
} = action.payload;
let newState = state.setIn(['productList', 'isFetching'], false)
.setIn(['productList', 'error'], null)
.setIn(['productList', 'list'], Immutable.fromJS(list))
.setIn(['productList', 'currentPage'], currentPage)
.setIn(['productList', 'pageCount'], pageCount)
.setIn(['productList', 'total'], total)
.setIn(['productList', 'endReached'], endReached)
.set('searchResourceList', Immutable.fromJS(search_resource_list));
return newState;
}
case FILTER_DATA_SUCCESS:{
let { categoryFilterList, filterCategoryDetailFilterList, } = action.payload;
let newState = state.set('categoryFilterList', Immutable.fromJS(categoryFilterList))
.set('filterCategoryDetailFilterList', Immutable.fromJS(filterCategoryDetailFilterList))
.set('filterDataReady',true);
return newState;
}
case SET_SIMILAR_PRODUCT_INDEX: {
let newState = state.setIn(['productList', 'similarIndex'], action.payload);
return newState;
}
case PRODUCT_LIST_FAILURE: {
return state.setIn(['productList', 'isFetching'], false)
.setIn(['productList', 'error'], action.payload);
}
case RECOMMEND_BRAND_REQUEST: {
return state.setIn(['recommendForYou', 'isFetching'], true);
}
case RECOMMEND_BRAND_SUCCESS: {
return state.setIn(['recommendForYou', 'isFetching'], false)
.setIn(['recommendForYou', 'hotBrandList'], Immutable.fromJS(action.payload.hotBrandList))
.setIn(['recommendForYou', 'browseBrandList'], Immutable.fromJS(action.payload.browseBrandList))
.setIn(['recommendForYou', 'newBrandList'], Immutable.fromJS(action.payload.newBrandList));
}
case RECOMMEND_BRAND_FAILURE: {
return state.setIn(['recommendForYou', 'isFetching'], false)
.setIn(['productList', 'error'], action.payload);
}
case SET_SHOW_SIMILAR_GUIDER: {
return state.set('showSimilarGuider', action.payload);
}
case GET_SHOPCARTCOUNT_REQUEST: {
}
case GET_SHOPCARTCOUNT_SUCCESS: {
return state.set('cart_goods_count', action.payload);
}
case GET_SHOPCARTCOUNT_FAILURE: {
}
case UPDATE_MORE_FILTER_SELECTED_ORDER: {
return state.set('moreFilterSelectOrder', action.payload);
}
case RESOURCE_INFO_REQUEST: {
return state.setIn(['resourceInfo', 'isFetching'], true)
.setIn(['resourceInfo', 'error'], action.payload);
}
case RESOURCE_INFO_SUCCESS: {
return state.setIn(['resourceInfo', 'isFetching'], false)
.setIn(['resourceInfo', 'resourceList'], Immutable.fromJS(action.payload))
.setIn(['resourceInfo', 'error'], null);
}
case RESOURCE_INFO_FAILURE: {
return state.setIn(['resourceInfo', 'isFetching'], false)
.setIn(['resourceInfo', 'error'], null);
}
case STORE_CURRENT_TAB_VALUE: {
let {index, tabName, queryList} = action.payload;
return state.setIn(['productList', 'selectedCategoryIndex'], index)
.setIn(['productList', 'currentPage'], 0)
// .setIn(['productList', 'product_list'], List())
.setIn(['productList', 'total'], 0)
.setIn(['productList', 'endReached'], false)
.setIn(['productList', 'error'], null)
.set('selectedTabIndex', index)
.set('selectedTabName', tabName)
.set('selectedTabList', queryList);
}
}
... ...
... ... @@ -31,42 +31,6 @@ export default class HomeService {
});
}
async fetchRecommendShop(yh_channel) {
let contentCode = '1f2e07cb63811680154ba693c954dd62';
switch (yh_channel) {
case '1':
contentCode = '1f2e07cb63811680154ba693c954dd62';
break;
case '2':
contentCode = '375f201d1ec56f7515509249c9c66959';
break;
case '3':
contentCode = '74c62151673e7dde9fb154c90dcff3f0';
break;
case '4':
contentCode = 'b9b4bd0de670f982e1f8e7dc23980e81';
break;
default:
contentCode = '1f2e07cb63811680154ba693c954dd62';
}
return await this.api.get({
url: '',
body: {
method: 'app.newproduct.recshop',
yh_channel,
limit: 10,
page: 1,
contentCode,
}
})
.then((json) => {
return json;
})
.catch((error) => {
throw(error);
});
}
async fetchRecommendBrand(yh_channel) {
return await this.api.get({
url: '',
... ...