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

54 lines
1.2 KiB
TypeScript
Raw Normal View History

2020-09-28 20:19:10 +08:00
import { useMessage } from '/@/hooks/web/useMessage';
import { userStore } from '/@/store/modules/user';
2020-11-26 21:10:21 +08:00
import { useI18n } from '/@/hooks/web/useI18n';
2020-09-28 20:19:10 +08:00
const { createMessage } = useMessage();
const error = createMessage.error!;
export function checkStatus(status: number, msg: string): void {
2020-11-26 21:19:39 +08:00
const { t } = useI18n('sys.api');
2020-09-28 20:19:10 +08:00
switch (status) {
case 400:
error(`${msg}`);
break;
// 401: 未登录
// 未登录则跳转登录页面,并携带当前页面的路径
// 在登录成功后返回当前页面,这一步需要在登录页操作。
case 401:
2020-11-26 21:10:21 +08:00
error(t('errMsg401'));
userStore.loginOut(true);
2020-09-28 20:19:10 +08:00
break;
case 403:
2020-11-26 21:10:21 +08:00
error(t('errMsg403'));
2020-09-28 20:19:10 +08:00
break;
// 404请求不存在
case 404:
2020-11-26 21:10:21 +08:00
error(t('errMsg404'));
2020-09-28 20:19:10 +08:00
break;
case 405:
2020-11-26 21:10:21 +08:00
error(t('errMsg405'));
2020-09-28 20:19:10 +08:00
break;
case 408:
2020-11-26 21:10:21 +08:00
error(t('errMsg408'));
2020-09-28 20:19:10 +08:00
break;
case 500:
2020-11-26 21:10:21 +08:00
error(t('errMsg500'));
2020-09-28 20:19:10 +08:00
break;
case 501:
2020-11-26 21:10:21 +08:00
error(t('errMsg501'));
2020-09-28 20:19:10 +08:00
break;
case 502:
2020-11-26 21:10:21 +08:00
error(t('errMsg502'));
2020-09-28 20:19:10 +08:00
break;
case 503:
2020-11-26 21:10:21 +08:00
error(t('errMsg503'));
2020-09-28 20:19:10 +08:00
break;
case 504:
2020-11-26 21:10:21 +08:00
error(t('errMsg504'));
2020-09-28 20:19:10 +08:00
break;
case 505:
2020-11-26 21:10:21 +08:00
error(t('errMsg505'));
2020-09-28 20:19:10 +08:00
break;
default:
}
}