From 6fa4bba623713c396432ba8b863846883d6a1906 Mon Sep 17 00:00:00 2001
From: wayne <wayne8692wayne8692@gmail.com>
Date: 星期三, 26 一月 2022 10:52:23 +0800
Subject: [PATCH] Merge branch 'pollex-dev' into sit

---
 PAMapp/shared/services/httpClient.ts |   20 +++++++++++++++-----
 1 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/PAMapp/shared/services/httpClient.ts b/PAMapp/shared/services/httpClient.ts
index 531eda2..bafed6e 100644
--- a/PAMapp/shared/services/httpClient.ts
+++ b/PAMapp/shared/services/httpClient.ts
@@ -1,7 +1,8 @@
 import { AxiosRequestConfig, AxiosError, AxiosResponse} from 'axios';
-import ErrorMessageBox from '../errorService';
 import axios from 'axios';
 import _ from 'lodash';
+
+import messageBoxService from './message-box.service';
 
 const notRequireInterceptorErrorUrl = [
   '/otp/verify',
@@ -15,8 +16,11 @@
   withCredentials: true
 });
 
+let apiNumber = 0;
+
 http.interceptors.request.use(
   (config: AxiosRequestConfig) => {
+    apiNumber += 1;
     loadingStart();
     addHttpHeader(config);
     return config;
@@ -25,11 +29,17 @@
 
 http.interceptors.response.use(
   (response: AxiosResponse) => {
-    loadingFinish();
+    apiNumber -= 1;
+    if (apiNumber === 0) {
+      loadingFinish();
+    }
     return response;
   },
   (error: AxiosError) => {
-    loadingFinish();
+    apiNumber -= 1;
+    if (apiNumber === 0) {
+      loadingFinish();
+    }
     showErrorMessageBox(error)
     return Promise.reject(error);
   }
@@ -59,13 +69,13 @@
     if (!_.includes(notRequireInterceptorErrorUrl, error.config.url)) {
       switch (error.response.status) {
         case 401:
-          Promise.all([ErrorMessageBox('���暹��'), window.$nuxt.$store.dispatch('localStorage/actionStorageClear')]).then(() => {
+          Promise.all([messageBoxService.showErrorMessage('���暹��'), window.$nuxt.$store.dispatch('localStorage/actionStorageClear')]).then(() => {
             _.isEqual(window.$nuxt.$route.name, 'index') ? location.reload() : window.$nuxt.$router.push('/');
           });
           break;
 
         default:
-          ErrorMessageBox('', error);
+          messageBoxService.showErrorMessage('', error);
           break;
       }
     }

--
Gitblit v1.9.3