feat: 完成双token刷新

This commit is contained in:
ccnetcore
2025-06-29 15:18:30 +08:00
parent d4f00eb89f
commit 6a58af8dfb
7 changed files with 344 additions and 326 deletions

View File

@@ -1,10 +1,10 @@
import axios from 'axios';
import { getToken } from '@/utils/auth'
export let isRelogin = { show: false };
import {getToken} from '@/utils/auth'
export let isRelogin = {show: false};
// import JsonBig from 'json-bigint'
const myaxios = axios.create({
baseURL:import.meta.env.VITE_APP_BASEAPI,
baseURL: import.meta.env.VITE_APP_BASEAPI,
timeout: 50000,
// transformResponse: [data => {
// try {
@@ -22,12 +22,11 @@ const myaxios = axios.create({
})
// 请求拦截器
myaxios.interceptors.request.use(function (config) {
if (getToken()) {
config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
}
}
return config;
}, function (error) {
@@ -37,27 +36,25 @@ myaxios.interceptors.request.use(function (config) {
// 响应拦截器
myaxios.interceptors.response.use(function (response) {
//业务错误
if(response.data.statusCode==403)
{
if (response.data.statusCode == 403) {
ElMessage.error(response.data.errors)
}
return response;
}, function (error) {
const code = error.response.status;
const msg = error.message;
//业务异常+应用异常,统一处理
switch(code)
{
case 401:
ElMessage.error('登录已过期')
break;
case 403:
ElMessage.error(msg)
break;
case 500:
ElMessage.error(msg)
break;
}
//业务异常+应用异常,统一处理
switch (code) {
case 401:
ElMessage.error('登录已过期')
break;
case 403:
ElMessage.error(msg)
break;
case 500:
ElMessage.error(msg)
break;
}
return Promise.reject(error);
});