|
@@ -4,12 +4,11 @@
|
|
|
* @version:
|
|
|
* @Date: 2022-08-09 16:19:57
|
|
|
* @LastEditors: Please set LastEditors
|
|
|
- * @LastEditTime: 2022-09-20 13:59:46
|
|
|
+ * @LastEditTime: 2022-10-25 18:20:48
|
|
|
*/
|
|
|
import axios from 'axios';
|
|
|
import { ElMessage, ElMessageBox } from 'element-plus';
|
|
|
import { Session } from '/@/utils/storage';
|
|
|
-
|
|
|
// 配置新建一个 axios 实例
|
|
|
const service = axios.create({
|
|
|
baseURL: import.meta.env.VITE_API_URL as any,
|
|
@@ -45,11 +44,14 @@ service.interceptors.response.use(
|
|
|
if (res.code && res.code !== 0) {
|
|
|
// `token` 过期或者账号已在别处登录
|
|
|
if (res.code === 401 || res.code === 4001) {
|
|
|
- Session.clear(); // 清除浏览器全部临时缓存
|
|
|
- window.location.href = '/'; // 去登录页
|
|
|
- ElMessageBox.alert('你已被登出,请重新登录', '提示', {})
|
|
|
- .then(() => {})
|
|
|
- .catch(() => {});
|
|
|
+ //获取页面所有已经存在的提示
|
|
|
+ let doms = document.getElementsByClassName('is-message-box');
|
|
|
+ if(doms.length === 0){// 解决重复提示的问题
|
|
|
+ ElMessageBox.alert('你已被登出,请重新登录', '提示', {type: 'warning'}).then(() => {
|
|
|
+ Session.clear(); // 清除浏览器全部临时缓存
|
|
|
+ window.location.href = '/'; // 去登录页
|
|
|
+ }).catch(() => {});
|
|
|
+ }
|
|
|
}
|
|
|
return Promise.reject(service.interceptors.response);
|
|
|
} else {
|
|
@@ -63,11 +65,14 @@ service.interceptors.response.use(
|
|
|
} else if (error.message == 'Network Error') {
|
|
|
ElMessage.error('网络连接错误');
|
|
|
} else if(error.response.status == 401){ //`token` 过期或者账号已在别处登录
|
|
|
- Session.clear(); // 清除浏览器全部临时缓存
|
|
|
- window.location.href = '/'; // 去登录页
|
|
|
- ElMessageBox.alert('你已被登出,请重新登录', '提示', {})
|
|
|
- .then(() => {})
|
|
|
- .catch(() => {});
|
|
|
+ //获取页面所有已经存在的提示
|
|
|
+ let doms = document.getElementsByClassName('is-message-box');
|
|
|
+ if(doms.length === 0){// 解决重复提示的问题
|
|
|
+ ElMessageBox.alert('你已被登出,请重新登录', '提示', {type: 'warning'}).then(() => {
|
|
|
+ Session.clear(); // 清除浏览器全部临时缓存
|
|
|
+ window.location.href = '/'; // 去登录页
|
|
|
+ }).catch(() => {});
|
|
|
+ }
|
|
|
}else{
|
|
|
if (error.response.data) ElMessage.error(error.response.data.error);
|
|
|
else ElMessage.error('接口路径找不到');
|