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

54 lines
1.3 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-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: 未登录
// 未登录则跳转登录页面,并携带当前页面的路径
// 在登录成功后返回当前页面,这一步需要在登录页操作。
case 401:
2020-12-01 23:51:39 +08:00
error(t('sys.api.errMsg401'));
userStore.loginOut(true);
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:
}
}