CommonModel
通用网络请求Control
export default {
namespace: 'common',
state: {
/**
* 请求失败数据集
* */
requestFails: [], // eg.{path : '', response : {}} tips: 登录成功必须清空该数组 !!!
},
subscriptions: {},
effects: {
/**
* 查询请求
* */
* onRefresh({payload}, {call, put, select}) {
yield call(requestPost, payload);
},
/**
* 提交请求
* */
* onHandle({payload}, {call, put, select}) {
yield call(requestPost, payload);
},
/**
* 重置数据
* */
* resetData(_, {put, select}) {
//sessionStorage.clear();
//localStorage.clear();
//yield put(routerRedux.replace('/'));
},
},
reducers: {
/**
* 保存数据
* */
save(state, action) {
return {...state, ...action.payload};
},
/**
* 更新请求失败数据集
* */
updateRequestFails(state, {payload: {response, result}}) {
const {requestFails} = state;
let index = -1;
for (let i = 0; i < requestFails.length; i++) {
if (requestFails[i].path == response.path) {
index = i;
break;
}
}
if (index > -1) {
requestFails.splice(index, 1);
}
if (!result) requestFails.push(response);
return {...state, requestFails};
},
},
};