This commit is contained in:
fan 2023-07-07 16:05:23 +08:00
commit 6ab4415b55

View File

@ -66,7 +66,7 @@ export class ApiError {
// "export default () => {}" function below (which runs individually
// for each client)
const api = axios.create({ baseURL: getHttpBase() });
let isOpenDialog = false; // 认证弹窗是否打开
export default boot(({ app, router }) => {
// for use inside Vue files (Options API) through this.$axios and this.$api
@ -86,14 +86,20 @@ export default boot(({ app, router }) => {
return response;
},
(err) => {
if (err.response && err.response.status === 401) {
if (err.response && err.response.status === 401 && !isOpenDialog) {
isOpenDialog = true;
Dialog.create({
title: '认证失败',
message: '认证失败或登录超时,请重新登录',
persistent: true,
}).onOk(() => {
router.push({ name: 'login' });
});
})
.onOk(() => {
router.push({ name: 'login' });
isOpenDialog = false;
})
.onCancel(() => {
isOpenDialog = false;
});
}
return Promise.reject(ApiError.from(err));
}