model里有许多接口都是要登陆后才能调用的,code返回200是正常,
返回20020时是会话失效了,这时我想跳重新转到登录页面,我是这样处理的
*fetchShopSaleList({ payload }, { call, put }) {
let res = yield call(qryShopSaleGroup, payload);
if(res.code === 200) {
yield put({
type: 'save',
payload: {
shopCardList: res.data,
},
});
} else if (res.code === 20020) {
yield put(routerRedux.push('/user/cloudlogin'));
}
},
*fetchShopSaleInfo({ payload }, { call, put }) {
let res = yield call(qryShopSaleGroup, payload);
if(res.code === 200) {
yield put({
type: 'save',
payload: {
shopSaleInfoList: res.data,
},
});
} else if (res.code === 20020) {
yield put(routerRedux.push('/user/cloudlogin'));
}
},
在每个方法里判断下返回的code是否等于20020,如果等于就跳转到登录页面。
我这样每个接口下都要写多这么一个判断,感觉不怎么好。
请问有没什么办法能统一处理?
antd-pro中,src/utils/request.js文件里 request方法中可以统一做处理,不用在model添加额外代码
具体文档可查看 umi-request