feat: add axios handler
This commit is contained in:
parent
8ef7f531fb
commit
d93a2b3f23
|
@ -24,17 +24,6 @@ const onRequestError = error => {
|
||||||
const onResponseError = error => {
|
const onResponseError = error => {
|
||||||
const userStore = useUserStore();
|
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 (userStore.isLoggedIn && response?.status === 401) {
|
||||||
if (!Router) return;
|
if (!Router) return;
|
||||||
|
|
||||||
|
@ -73,6 +62,40 @@ export default boot(({ app }) => {
|
||||||
// so you can easily perform requests against your app's API
|
// so you can easily perform requests against your app's API
|
||||||
|
|
||||||
app.config.globalProperties.$jApi = jApi;
|
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('jApi', jApi);
|
||||||
app.provide('api', api);
|
app.provide('api', api);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in New Issue