Toggle navigation
Toggle navigation
This project
Loading...
Sign in
mobile
/
YH_RNComponent
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
张文文
6 years ago
Commit
84c7410f28e1f25d28c634e090527e223bdfab27
1 parent
8406e404
删除无用代码 reviewd by 陈林
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
138 additions
and
206 deletions
js/newArrival/containers/RecForYouContainer.js
js/newArrival/reducers/newArrival/newArrivalActions.js
js/newArrival/reducers/newArrival/newArrivalInitialState.js
js/newArrival/reducers/newArrival/newArrivalReducer.js
js/newArrival/services/NewArrivalService.js
js/newArrival/containers/RecForYouContainer.js
View file @
84c7410
...
...
@@ -44,7 +44,7 @@ function mapDispatchToProps(dispatch) {
};
}
class
NewArrival
Container
extends
Component
{
class
RecForYou
Container
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
)(
NewArrival
Container
);
export
default
connect
(
mapStateToProps
,
mapDispatchToProps
)(
RecForYou
Container
);
...
...
js/newArrival/reducers/newArrival/newArrivalActions.js
View file @
84c7410
...
...
@@ -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
,
...
...
js/newArrival/reducers/newArrival/newArrivalInitialState.js
View file @
84c7410
...
...
@@ -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
:
''
,
...
...
js/newArrival/reducers/newArrival/newArrivalReducer.js
View file @
84c7410
...
...
@@ -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
);
}
}
...
...
js/newArrival/services/NewArrivalService.js
View file @
84c7410
...
...
@@ -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
:
''
,
...
...
Please
register
or
login
to post a comment