|
|
|
@ -11,11 +11,14 @@ import { useI18n } from '/@/hooks/web/useI18n';
@@ -11,11 +11,14 @@ import { useI18n } from '/@/hooks/web/useI18n';
|
|
|
|
|
import { useUserStoreWithOut } from '/@/store/modules/user'; |
|
|
|
|
import projectSetting from '/@/settings/projectSetting'; |
|
|
|
|
import { SessionTimeoutProcessingEnum } from '/@/enums/appEnum'; |
|
|
|
|
import { logout } from '/@/api/platform/core/controller/user'; |
|
|
|
|
import { AxiosResponse } from 'axios'; |
|
|
|
|
import { ExceptionEnum } from '/@/enums/exceptionEnum'; |
|
|
|
|
|
|
|
|
|
const stp = projectSetting.sessionTimeoutProcessing; |
|
|
|
|
const { createMessage, createErrorModal } = useMessage(); |
|
|
|
|
|
|
|
|
|
export function checkStatus(status: number, msg: string, errorMessageMode: ErrorMessageMode = 'message'): boolean { |
|
|
|
|
export function checkStatus(status: number, msg: string, errorMessageMode: ErrorMessageMode = 'message', response: AxiosResponse): boolean { |
|
|
|
|
const { t } = useI18n(); |
|
|
|
|
const userStore = useUserStoreWithOut(); |
|
|
|
|
let errMessage = ''; |
|
|
|
@ -41,15 +44,22 @@ export function checkStatus(status: number, msg: string, errorMessageMode: Error
@@ -41,15 +44,22 @@ export function checkStatus(status: number, msg: string, errorMessageMode: Error
|
|
|
|
|
errMessage = t('sys.api.errMsg408'); |
|
|
|
|
break; |
|
|
|
|
case 424: |
|
|
|
|
// token 过期特殊处理返回 424 不是 401
|
|
|
|
|
errMessage = t('sys.api.errMsg424'); |
|
|
|
|
if (stp === SessionTimeoutProcessingEnum.PAGE_COVERAGE) { |
|
|
|
|
userStore.setAccessToken(''); |
|
|
|
|
userStore.setSessionTimeout(true); |
|
|
|
|
// 处理SSO用户未配置用户数据
|
|
|
|
|
if (response.data.code === ExceptionEnum.PAGE_NOT_DATA) { |
|
|
|
|
errMessage = t('sys.api.errMsg42401'); |
|
|
|
|
} else { |
|
|
|
|
userStore.logout(true); |
|
|
|
|
// token 过期特殊处理返回 424 不是 401
|
|
|
|
|
errMessage = t('sys.api.errMsg424'); |
|
|
|
|
if (stp === SessionTimeoutProcessingEnum.PAGE_COVERAGE) { |
|
|
|
|
// 需要保证其他sso系统用户退出
|
|
|
|
|
logout().then(() => { |
|
|
|
|
userStore.setAccessToken(''); |
|
|
|
|
userStore.setSessionTimeout(true); |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
userStore.logout(true); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
userStore.logout(true); |
|
|
|
|
break; |
|
|
|
|
case 426: |
|
|
|
|
errMessage = t('sys.api.errMsg426'); |
|
|
|
|