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