1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- import type { ErrorMessageMode } from '/#/axios';
- import { useMessage } from '/@/hooks/web/useMessage';
- import { useI18n } from '/@/hooks/web/useI18n';
- // import router from '/@/router';
- // import { PageEnum } from '/@/enums/pageEnum';
- import { useUserStoreWithOut } from '/@/store/modules/user';
- import projectSetting from '/@/settings/projectSetting';
- import { SessionTimeoutProcessingEnum } from '/@/enums/appEnum';
- import { AUTO_LOGIN_USERNAME } from '/@/store/constant';
- const { createMessage, createErrorModal } = useMessage();
- const error = createMessage.error!;
- const stp = projectSetting.sessionTimeoutProcessing;
- export function checkStatus(status: number, msg: string, errorMessageMode: ErrorMessageMode = 'message'): void {
- const { t } = useI18n();
- const userStore = useUserStoreWithOut();
- let errMessage = '';
- switch (status) {
- case 400:
- errMessage = `${msg}`;
- break;
- // 401: Not logged in
- // 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.
- case 401:
- userStore.setToken(undefined);
- errMessage = msg || t('sys.api.errMsg401');
- if (stp === SessionTimeoutProcessingEnum.PAGE_COVERAGE) {
- userStore.setSessionTimeout(true);
- } else {
- // 经由自动登录的账号需要在登录信息过期之后重新登录
- const continuallyLogin = userStore.getIsAutoLogin;
- if (continuallyLogin) {
- userStore.continuallyLogin();
- } else {
- userStore.logout(true);
- }
- }
- break;
- case 403:
- errMessage = t('sys.api.errMsg403');
- break;
- // 404请求不存在
- case 404:
- errMessage = t('sys.api.errMsg404');
- break;
- case 405:
- errMessage = t('sys.api.errMsg405');
- break;
- case 408:
- errMessage = t('sys.api.errMsg408');
- break;
- case 500:
- errMessage = t('sys.api.errMsg500');
- break;
- case 501:
- errMessage = t('sys.api.errMsg501');
- break;
- case 502:
- errMessage = t('sys.api.errMsg502');
- break;
- case 503:
- errMessage = t('sys.api.errMsg503');
- break;
- case 504:
- errMessage = t('sys.api.errMsg504');
- break;
- case 505:
- errMessage = t('sys.api.errMsg505');
- break;
- default:
- }
- if (errMessage) {
- if (errorMessageMode === 'modal') {
- createErrorModal({ title: t('sys.api.errorTip'), content: errMessage });
- } else if (errorMessageMode === 'message') {
- error({ content: errMessage, key: `global_error_message_status_${status}` });
- }
- }
- }
|