From 36d162dd1efc272b50994f30df91ebac6e319c1e Mon Sep 17 00:00:00 2001
From: Tomas <tomasysh@gmail.com>
Date: 星期三, 22 十二月 2021 15:27:32 +0800
Subject: [PATCH] add: message-box.service (remove errorService.ts)

---
 PAMapp/shared/services/message-box.service.ts |   30 +++++++++++++++
 PAMapp/pages/consultantLogin/index.vue        |   10 ++--
 PAMapp/pages/login/index.vue                  |    8 ++--
 /dev/null                                     |   25 ------------
 PAMapp/shared/services/httpClient.ts          |    7 ++-
 5 files changed, 43 insertions(+), 37 deletions(-)

diff --git a/PAMapp/pages/consultantLogin/index.vue b/PAMapp/pages/consultantLogin/index.vue
index 3a90f3f..b7cc08b 100644
--- a/PAMapp/pages/consultantLogin/index.vue
+++ b/PAMapp/pages/consultantLogin/index.vue
@@ -59,7 +59,7 @@
   import { Vue, Component , namespace } from 'nuxt-property-decorator';
   import { AxiosError } from 'axios';
   import { Role } from '~/shared/models/enum/role';
-  import ErrorMessageBox from '~/shared/errorService';
+  import messageBoxService from '~/shared/services/message-box.service';
   import loginService from '~/shared/services/login.service'
 
   const roleStorage = namespace('localStorage');
@@ -103,7 +103,7 @@
     }
 
     public sendInfo():void{
-      this.isAlreadyDone ? this.verify() : ErrorMessageBox('隢Ⅱ隤董����Ⅳ隞亙���Ⅳ��憛怠神摰');
+      this.isAlreadyDone ? this.verify() : messageBoxService.showErrorMessage('隢Ⅱ隤董����Ⅳ隞亙���Ⅳ��憛怠神摰');
     }
 
 
@@ -123,7 +123,7 @@
         }else{
           this.clearValue();
           this.regenerateImgOfVerification();
-          ErrorMessageBox('撽�Ⅳ頛詨�隤�');
+          messageBoxService.showErrorMessage('撽�Ⅳ頛詨�隤�');
         }
       });
     }
@@ -145,11 +145,11 @@
       switch (error.response.status) {
         case 401:
           const errorMsg = error.response.data.detail;
-          ErrorMessageBox(errorMsg);
+          messageBoxService.showErrorMessage(errorMsg);
           break;
 
         default:
-          ErrorMessageBox('',error);
+          messageBoxService.showErrorMessage('',error);
           break;
       }
     }
diff --git a/PAMapp/pages/login/index.vue b/PAMapp/pages/login/index.vue
index 8e60407..18e50a5 100644
--- a/PAMapp/pages/login/index.vue
+++ b/PAMapp/pages/login/index.vue
@@ -335,7 +335,6 @@
 <script lang="ts">
 import { namespace } from 'nuxt-property-decorator';
 import { Vue, Component, Ref } from 'vue-property-decorator';
-import ErrorMessageBox from '~/shared/errorService';
 import { OtpErrorCode } from '~/shared/models/enum/otpErrorCode';
 import { Role } from '~/shared/models/enum/role';
 import { LoginRequest } from '~/shared/models/loginRequest.model';
@@ -343,6 +342,7 @@
 import { OtpInfo } from '~/shared/models/otpInfo.model';
 import { RegisterInfo } from '~/shared/models/registerInfo';
 import loginService from '~/shared/services/login.service';
+import messageBoxService from '~/shared/services/message-box.service';
 
 const roleStorage = namespace('localStorage');
 
@@ -474,7 +474,7 @@
         this.startOtpCount(type);
       } else {
         const errorMsg = OtpErrorCode[otpInfo.failCode] ? OtpErrorCode[otpInfo.failCode]:'OTP蝟餌絞�隤�';
-        ErrorMessageBox(errorMsg);
+        messageBoxService.showErrorMessage(errorMsg);
       }
     });
   };
@@ -543,7 +543,7 @@
     switch (error.response.status) {
         case 401:
           const errorMsg = OtpErrorCode[error.response?.data?.detail] ? OtpErrorCode[error.response?.data?.detail]:'OTP蝟餌絞�隤�';
-          ErrorMessageBox(errorMsg);
+          messageBoxService.showErrorMessage(errorMsg);
           break;
         case 403:
           this.registerDialogVisible = true;
@@ -555,7 +555,7 @@
           }, 1000);
           break;
         default:
-          ErrorMessageBox('',error);
+          messageBoxService.showErrorMessage('',error);
           break;
       }
   }
diff --git a/PAMapp/shared/errorService.ts b/PAMapp/shared/errorService.ts
deleted file mode 100644
index 69aed3e..0000000
--- a/PAMapp/shared/errorService.ts
+++ /dev/null
@@ -1,25 +0,0 @@
-import { MessageBox } from 'element-ui';
-import { MessageBoxData } from 'element-ui/types/message-box';
-import * as _ from 'lodash';
-
-export default function ErrorMessageBox(errorMsg?:string, errorObj?: any):Promise<MessageBoxData>{
-  errorMsg && console.info('Error: ', errorMsg);
-  errorObj && console.error('Error Details: ', errorObj?.response || errorObj);
-
-  return MessageBox({
-    message: errorMsg
-              ? `${breakTextByComma(errorMsg)}`
-              : `<div class="message-header"> 蝟餌絞���隤�: ${errorObj?.response?.status} </div>
-                  <div class="message-content">${errorObj?.response?.data?.detail}</div>`,
-    dangerouslyUseHTMLString: true,
-    showClose:false,
-    showConfirmButton:true,
-    confirmButtonText:'蝣箄��',
-    customClass:'pam-message-box',
-    closeOnClickModal:false,
-  });
-}
-// ������銵�
-function breakTextByComma(errorMsg:string):string{
-  return _.split(errorMsg,"嚗�").join('<br>');
-}
diff --git a/PAMapp/shared/services/httpClient.ts b/PAMapp/shared/services/httpClient.ts
index 531eda2..e524ddf 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',
@@ -59,13 +60,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;
       }
     }
diff --git a/PAMapp/shared/services/message-box.service.ts b/PAMapp/shared/services/message-box.service.ts
new file mode 100644
index 0000000..e138c01
--- /dev/null
+++ b/PAMapp/shared/services/message-box.service.ts
@@ -0,0 +1,30 @@
+import { MessageBox } from 'element-ui';
+import { MessageBoxData } from "element-ui/types/message-box";
+import _ from "lodash";
+
+class MessageBoxService {
+
+  showErrorMessage(errorMsg?:string, errorObj?: any): Promise<MessageBoxData> {
+    const messageBoxConfig = {
+      message: errorMsg
+      ? `${this.breakTextByComma(errorMsg)}`
+      : `<div class="message-header"> 蝟餌絞���隤�: ${errorObj?.response?.status} </div>
+          <div class="message-content">${errorObj?.response?.data?.detail}</div>`,
+      dangerouslyUseHTMLString: true,
+      showClose:false,
+      showConfirmButton:true,
+      confirmButtonText:'蝣箄��',
+      customClass:'pam-message-box',
+      closeOnClickModal:false,
+    };
+    return MessageBox(messageBoxConfig);
+  }
+
+  // ������銵�
+  private breakTextByComma(errorMsg:string):string{
+    return _.split(errorMsg,"嚗�").join('<br>');
+  }
+
+}
+
+export default new MessageBoxService();

--
Gitblit v1.8.0