From 39969720bcb16430092ab9363a0dbb0c027d1db7 Mon Sep 17 00:00:00 2001 From: weiyanxi Date: Tue, 13 Apr 2021 10:30:45 +0800 Subject: [PATCH] UI / Resolve one function in fetcher.js which over 50 lines --- mindinsight/ui/src/services/fetcher.js | 37 +++++++++----------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/mindinsight/ui/src/services/fetcher.js b/mindinsight/ui/src/services/fetcher.js index 1a5f55ba..c03c3bc6 100644 --- a/mindinsight/ui/src/services/fetcher.js +++ b/mindinsight/ui/src/services/fetcher.js @@ -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