vue-vben-admin/src/utils/http/axios/checkStatus.ts

56 lines
1.4 KiB
TypeScript
Raw Normal View History

2020-09-28 20:19:10 +08:00
import { useMessage } from '/@/hooks/web/useMessage';
2020-11-26 21:10:21 +08:00
import { useI18n } from '/@/hooks/web/useI18n';
import router from '/@/router';
import { PageEnum } from '/@/enums/pageEnum';
2020-09-28 20:19:10 +08:00
const { createMessage } = useMessage();
const error = createMessage.error!;
export function checkStatus(status: number, msg: string): void {
2020-12-01 23:51:39 +08:00
const { t } = useI18n();
2020-09-28 20:19:10 +08:00
switch (status) {
case 400:
error(`${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.
2020-09-28 20:19:10 +08:00
case 401:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg401'));
router.push(PageEnum.BASE_LOGIN);
2020-09-28 20:19:10 +08:00
break;
case 403:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg403'));
2020-09-28 20:19:10 +08:00
break;
// 404请求不存在
case 404:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg404'));
2020-09-28 20:19:10 +08:00
break;
case 405:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg405'));
2020-09-28 20:19:10 +08:00
break;
case 408:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg408'));
2020-09-28 20:19:10 +08:00
break;
case 500:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg500'));
2020-09-28 20:19:10 +08:00
break;
case 501:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg501'));
2020-09-28 20:19:10 +08:00
break;
case 502:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg502'));
2020-09-28 20:19:10 +08:00
break;
case 503:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg503'));
2020-09-28 20:19:10 +08:00
break;
case 504:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg504'));
2020-09-28 20:19:10 +08:00
break;
case 505:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg505'));
2020-09-28 20:19:10 +08:00
break;
default:
}
}