|
|
|
@@ -43,6 +43,11 @@ axios.interceptors.request.use( |
|
|
|
}, |
|
|
|
); |
|
|
|
|
|
|
|
const ignoreCode = { |
|
|
|
ignoreError: ['50545005', '50546083'], |
|
|
|
regardError: ['50545013', '50545014', '50545016', '5054500D'], |
|
|
|
}; |
|
|
|
|
|
|
|
// Add a response interceptor |
|
|
|
axios.interceptors.response.use( |
|
|
|
function(response) { |
|
|
|
@@ -61,15 +66,9 @@ axios.interceptors.response.use( |
|
|
|
function(error) { |
|
|
|
const errorData = i18n.messages[i18n.locale].error; |
|
|
|
const path = router.currentRoute.path; |
|
|
|
|
|
|
|
if (path === '/debugger' || path === '/offline-debugger') { |
|
|
|
if ( |
|
|
|
error.response && |
|
|
|
error.response.data && |
|
|
|
error.response.data.error_code === '5054B281' |
|
|
|
) { |
|
|
|
router.push('/'); |
|
|
|
} |
|
|
|
// eslint-disable-next-line camelcase |
|
|
|
if (error.response?.data?.error_code === '5054B281') router.push('/'); |
|
|
|
return Promise.reject(error); |
|
|
|
} |
|
|
|
// error returned by backend |
|
|
|
@@ -79,24 +78,14 @@ axios.interceptors.response.use( |
|
|
|
error.response.data.error_code |
|
|
|
) { |
|
|
|
const errorCode = error.response.data.error_code.toString(); |
|
|
|
|
|
|
|
const ignoreCode = { |
|
|
|
ignoreError: ['50545005', '50546083'], |
|
|
|
regardError: ['50545013', '50545014', '50545016', '5054500D'], |
|
|
|
}; |
|
|
|
|
|
|
|
if (ignoreCode.ignoreError.includes(errorCode)) { |
|
|
|
if (errorData[errorCode]) { |
|
|
|
Vue.prototype.$message.error(errorData[errorCode]); |
|
|
|
} |
|
|
|
setTimeout(()=>{ |
|
|
|
router.push('/'); |
|
|
|
}, 2500); |
|
|
|
setTimeout(() => router.push('/'), 2500); |
|
|
|
return Promise.reject(error); |
|
|
|
} |
|
|
|
if ( |
|
|
|
path.includes('-dashboard') || |
|
|
|
ignoreCode.regardError.includes(errorCode)) { |
|
|
|
if (path.includes('-dashboard') || ignoreCode.regardError.includes(errorCode)) { |
|
|
|
return Promise.reject(error); |
|
|
|
} |
|
|
|
if (errorData[errorCode]) { |
|
|
|
@@ -104,16 +93,14 @@ axios.interceptors.response.use( |
|
|
|
} |
|
|
|
return Promise.reject(error); |
|
|
|
} else { |
|
|
|
// error returned by browser |
|
|
|
// error returned by browser |
|
|
|
if (error.code === 'ECONNABORTED' && /^timeout/.test(error.message)) { |
|
|
|
if (error.config.headers.ignoreError) { |
|
|
|
return Promise.reject(error); |
|
|
|
} |
|
|
|
if (error.config.headers.ignoreError) return Promise.reject(error); |
|
|
|
// timeout processing |
|
|
|
Vue.prototype.$message.error(i18n.messages[i18n.locale].public.timeout); |
|
|
|
return Promise.reject(error); |
|
|
|
} else if (error.message === 'routeJump') { |
|
|
|
// route jump |
|
|
|
// route jump |
|
|
|
return false; |
|
|
|
} else { |
|
|
|
// show network error |
|
|
|
|