feat: add axios handler
This commit is contained in:
parent
8ef7f531fb
commit
d93a2b3f23
|
@ -24,17 +24,6 @@ const onRequestError = error => {
|
|||
const onResponseError = error => {
|
||||
const userStore = useUserStore();
|
||||
|
||||
let message = error.message;
|
||||
|
||||
const response = error.response;
|
||||
const responseData = response && response.data;
|
||||
const responseError = responseData && response.data.error;
|
||||
if (responseError) {
|
||||
message = responseError.message;
|
||||
}
|
||||
|
||||
notify(message, 'negative');
|
||||
|
||||
if (userStore.isLoggedIn && response?.status === 401) {
|
||||
if (!Router) return;
|
||||
|
||||
|
@ -73,6 +62,40 @@ export default boot(({ app }) => {
|
|||
// so you can easily perform requests against your app's API
|
||||
|
||||
app.config.globalProperties.$jApi = jApi;
|
||||
app.config.errorHandler = async error => {
|
||||
let message;
|
||||
const response = error.response;
|
||||
const responseData = response?.data;
|
||||
const responseError = responseData && response.data.error;
|
||||
if (responseError) {
|
||||
message = responseError.message;
|
||||
}
|
||||
|
||||
switch (response?.status) {
|
||||
case 422:
|
||||
if (error.name == 'ValidationError')
|
||||
message +=
|
||||
' "' +
|
||||
responseError.details.context +
|
||||
'.' +
|
||||
Object.keys(responseError.details.codes).join(',') +
|
||||
'"';
|
||||
break;
|
||||
case 500:
|
||||
message = 'errors.statusInternalServerError';
|
||||
break;
|
||||
case 502:
|
||||
message = 'errors.statusBadGateway';
|
||||
break;
|
||||
case 504:
|
||||
message = 'errors.statusGatewayTimeout';
|
||||
break;
|
||||
}
|
||||
|
||||
console.error(error);
|
||||
notify(message ?? 'globals.error', 'negative', 'error');
|
||||
};
|
||||
|
||||
app.provide('jApi', jApi);
|
||||
app.provide('api', api);
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue