committed by
GitHub
5 changed files with 72 additions and 39 deletions
@ -1,58 +1,74 @@ |
|||||
|
import type { ErrorMessageMode } from './types'; |
||||
|
|
||||
import { useMessage } from '/@/hooks/web/useMessage'; |
import { useMessage } from '/@/hooks/web/useMessage'; |
||||
import { useI18n } from '/@/hooks/web/useI18n'; |
import { useI18n } from '/@/hooks/web/useI18n'; |
||||
// import router from '/@/router';
|
// import router from '/@/router';
|
||||
// import { PageEnum } from '/@/enums/pageEnum';
|
// import { PageEnum } from '/@/enums/pageEnum';
|
||||
import { useUserStoreWidthOut } from '/@/store/modules/user'; |
import { useUserStoreWidthOut } from '/@/store/modules/user'; |
||||
|
|
||||
const { createMessage } = useMessage(); |
const { createMessage, createErrorModal } = useMessage(); |
||||
|
|
||||
const error = createMessage.error!; |
const error = createMessage.error!; |
||||
export function checkStatus(status: number, msg: string): void { |
export function checkStatus( |
||||
|
status: number, |
||||
|
msg: string, |
||||
|
errorMessageMode: ErrorMessageMode = 'message' |
||||
|
): void { |
||||
const { t } = useI18n(); |
const { t } = useI18n(); |
||||
const userStore = useUserStoreWidthOut(); |
const userStore = useUserStoreWidthOut(); |
||||
|
let errMessage = ''; |
||||
|
|
||||
switch (status) { |
switch (status) { |
||||
case 400: |
case 400: |
||||
error(`${msg}`); |
errMessage = `${msg}`; |
||||
break; |
break; |
||||
// 401: Not logged in
|
// 401: Not logged in
|
||||
// Jump to the login page if not logged in, and carry the path of the current page
|
// Jump to the login page if not logged in, and carry the path of the current page
|
||||
// Return to the current page after successful login. This step needs to be operated on the login page.
|
// Return to the current page after successful login. This step needs to be operated on the login page.
|
||||
case 401: |
case 401: |
||||
error(t('sys.api.errMsg401')); |
errMessage = t('sys.api.errMsg401'); |
||||
userStore.setToken(undefined); |
userStore.setToken(undefined); |
||||
userStore.setSessionTimeout(true); |
userStore.setSessionTimeout(true); |
||||
break; |
break; |
||||
case 403: |
case 403: |
||||
error(t('sys.api.errMsg403')); |
errMessage = t('sys.api.errMsg403'); |
||||
break; |
break; |
||||
// 404请求不存在
|
// 404请求不存在
|
||||
case 404: |
case 404: |
||||
error(t('sys.api.errMsg404')); |
errMessage = t('sys.api.errMsg404'); |
||||
break; |
break; |
||||
case 405: |
case 405: |
||||
error(t('sys.api.errMsg405')); |
errMessage = t('sys.api.errMsg405'); |
||||
break; |
break; |
||||
case 408: |
case 408: |
||||
error(t('sys.api.errMsg408')); |
errMessage = t('sys.api.errMsg408'); |
||||
break; |
break; |
||||
case 500: |
case 500: |
||||
error(t('sys.api.errMsg500')); |
errMessage = t('sys.api.errMsg500'); |
||||
break; |
break; |
||||
case 501: |
case 501: |
||||
error(t('sys.api.errMsg501')); |
errMessage = t('sys.api.errMsg501'); |
||||
break; |
break; |
||||
case 502: |
case 502: |
||||
error(t('sys.api.errMsg502')); |
errMessage = t('sys.api.errMsg502'); |
||||
break; |
break; |
||||
case 503: |
case 503: |
||||
error(t('sys.api.errMsg503')); |
errMessage = t('sys.api.errMsg503'); |
||||
break; |
break; |
||||
case 504: |
case 504: |
||||
error(t('sys.api.errMsg504')); |
errMessage = t('sys.api.errMsg504'); |
||||
break; |
break; |
||||
case 505: |
case 505: |
||||
error(t('sys.api.errMsg505')); |
errMessage = t('sys.api.errMsg505'); |
||||
break; |
break; |
||||
default: |
default: |
||||
} |
} |
||||
|
|
||||
|
if (errMessage) { |
||||
|
if (errorMessageMode === 'modal') { |
||||
|
createErrorModal({ title: t('sys.api.errorTip'), content: errMessage }); |
||||
|
} else if (errorMessageMode === 'message') { |
||||
|
error(errMessage); |
||||
|
} |
||||
|
} |
||||
} |
} |
||||
|
|||||
Loading…
Reference in new issue