mirror of
https://github.com/WeBankFinTech/fes.js.git
synced 2025-04-06 03:59:53 +08:00
fix: 非 0 code 作为异常响应处理
This commit is contained in:
parent
216a0b7564
commit
d952aa9008
@ -59,11 +59,14 @@ export const request = {
|
|||||||
// 内部以 reponse.data.code === '0' 判断请求是否成功
|
// 内部以 reponse.data.code === '0' 判断请求是否成功
|
||||||
// 若使用其他字段判断,可以使用 responseDataAdaptor 对响应数据进行格式
|
// 若使用其他字段判断,可以使用 responseDataAdaptor 对响应数据进行格式
|
||||||
errorHandler: {
|
errorHandler: {
|
||||||
11199: (response) => {
|
11199(response) {
|
||||||
|
// 特殊 code 处理逻辑
|
||||||
|
},
|
||||||
|
404(error) {
|
||||||
|
|
||||||
},
|
},
|
||||||
404: (error) => {
|
commonAbnormalCodeHandler(response) {
|
||||||
|
// 非 0,且非 11199(前面已经配置过 11199) code 其他异常code处理逻辑
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 其他 axios 配置
|
// 其他 axios 配置
|
||||||
|
@ -31,6 +31,6 @@ export default {
|
|||||||
})
|
})
|
||||||
],
|
],
|
||||||
devServer: {
|
devServer: {
|
||||||
port: 8080
|
port: 8000
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -26,7 +26,7 @@ export default {
|
|||||||
legacy: true
|
legacy: true
|
||||||
},
|
},
|
||||||
devServer: {
|
devServer: {
|
||||||
port: 8080
|
port: 8000
|
||||||
},
|
},
|
||||||
enums: {
|
enums: {
|
||||||
status: [['0', '无效的'], ['1', '有效的']]
|
status: [['0', '无效的'], ['1', '有效的']]
|
||||||
|
@ -1,12 +1,26 @@
|
|||||||
import { isObject } from './helpers';
|
import { isObject } from './helpers';
|
||||||
|
|
||||||
export default async ({
|
function handleAbnormalCode(errorHandler = {}, code, response) {
|
||||||
error,
|
if (errorHandler[code]) {
|
||||||
errorHandler = {},
|
errorHandler[code](response);
|
||||||
response
|
} else if (errorHandler.commonAbnormalCodeHandler) {
|
||||||
}, next) => {
|
// 处理其他异常
|
||||||
if (response && isObject(response.data) && response.data.code && response.data.code !== '0') {
|
errorHandler.commonAbnormalCodeHandler(response);
|
||||||
errorHandler[response.data.code] && errorHandler[response.data.code](response);
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export default async (ctx, next) => {
|
||||||
|
const {
|
||||||
|
error,
|
||||||
|
errorHandler = {},
|
||||||
|
response
|
||||||
|
} = ctx;
|
||||||
|
if (response && isObject(response.data)) {
|
||||||
|
const code = response.data.code;
|
||||||
|
if (code !== '0') {
|
||||||
|
handleAbnormalCode(errorHandler, code, response);
|
||||||
|
ctx.error = response; // code 不为零进入 reject
|
||||||
|
}
|
||||||
} else if (error) {
|
} else if (error) {
|
||||||
if (error.type) {
|
if (error.type) {
|
||||||
errorHandler[error.type] && errorHandler[error.type](error);
|
errorHandler[error.type] && errorHandler[error.type](error);
|
||||||
|
@ -33,6 +33,6 @@ export default {
|
|||||||
})
|
})
|
||||||
],
|
],
|
||||||
devServer: {
|
devServer: {
|
||||||
port: 8080
|
port: 8000
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
export const request = {
|
export const request = {
|
||||||
errorConfig: {
|
errorHandler: {
|
||||||
404() {
|
404() {
|
||||||
console.log('to 404 page');
|
console.log('to 404 page');
|
||||||
|
},
|
||||||
|
commonAbnormalCodeHandler(res) {
|
||||||
|
console.log(res.data.code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user