listReducer.js
3.02 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
'use strict';
import InitialState from './listInitialState';
import Immutable, {Map} from 'immutable';
const {
SET_SHOW_INDEX,
// 列表
ORDER_RESET_STATE_WHEN_REFRESH,
GET_ORDER_LIST_REQUEST,
GET_ORDER_LIST_SUCCESS,
GET_ORDER_LIST_FAILURE,
//取消订单
CANCEL_ORDER_REQUEST,
CANCEL_ORDER_SUCCESS,
CANCEL_ORDER_FAILURE,
//取消订单原因
GET_CANCEL_REASON_REQUEST,
GET_CANCEL_REASON_SUCCESS,
GET_CANCEL_REASON_FAILURE,
//再次购买
BUY_AGAIN_REQUEST,
BUY_AGAIN_SUCCESS,
BUY_AGAIN_FAILURE,
//删除订单
DELETE_ORDER_REQUEST,
DELETE_ORDER_SUCCESS,
DELETE_ORDER_FAILURE,
} = require('../../constants/actionTypes').default;
const initialState = new InitialState;
export default function listReducer(state=initialState, action) {
switch(action.type) {
case SET_SHOW_INDEX: {
return state.set('showIndex', action.payload);
}
case ORDER_RESET_STATE_WHEN_REFRESH: {
let newState = state.setIn([type, 'list'], Immutable.fromJS(list))
.setIn([type, 'currentPage'], 0)
.setIn([type, 'error'], null)
.setIn([type, 'isFetching'], false)
return newState;
}
/****************************
*** 订单列表
*****************************/
case GET_ORDER_LIST_REQUEST: {
let type = action.payload;
return state.setIn([type, 'isFetching'], true)
.setIn([type, 'firstLoad'], false);
}
case GET_ORDER_LIST_SUCCESS: {
let {json, type} = action.payload;
let {
list,
currentPage,
pageCount,
total,
endReached,
} = json;
let newState = state.setIn([type, 'list'], Immutable.fromJS(list))
.setIn([type, 'currentPage'], currentPage)
.setIn([type, 'pageCount'], pageCount)
.setIn([type, 'total'], total)
.setIn([type, 'endReached'], endReached)
.setIn([type, 'error'], null)
.setIn([type, 'isFetching'], false)
return newState;
}
case GET_ORDER_LIST_FAILURE: {
let {error,type} = action.payload;
return state.setIn([type, 'isFetching'], false)
.setIn([type, 'error'], error);
}
/****************************
*** 取消订单
*****************************/
// case CANCEL_ORDER_REQUEST: {
//
// }
// case CANCEL_ORDER_SUCCESS: {
//
// }
// case CANCEL_ORDER_FAILURE: {
//
// }
// case GET_CANCEL_REASON_REQUEST: {
//
// }
// case GET_CANCEL_REASON_SUCCESS: {
//
// }
// case GET_CANCEL_REASON_FAILURE: {
//
// }
/****************************
*** 删除订单
*****************************/
case DELETE_ORDER_REQUEST: {
}
case DELETE_ORDER_SUCCESS: {
}
case DELETE_ORDER_FAILURE: {
}
/****************************
*** 再次购买
*****************************/
case BUY_AGAIN_REQUEST: {
}
case BUY_AGAIN_SUCCESS: {
}
case BUY_AGAIN_FAILURE: {
// let {error,type} = action.payload;
// return state.setIn([type, 'isFetching'], false)
// .setIn([type, 'error'], error);
}
}
return state;
}