Browse Source

修改显示404的逻辑

master
hanqin 3 weeks ago
parent
commit
1ea87972bd
  1. 51
      Build_God_Game/src/api/index.ts

51
Build_God_Game/src/api/index.ts

@ -1,44 +1,49 @@
import axios from 'axios' import axios from "axios";
const instance = axios.create({ const instance = axios.create({
baseURL: import.meta.env.VITE_API_URL || 'http://localhost:5091/api/god/', baseURL: import.meta.env.VITE_API_URL || "http://localhost:5091/api/god/",
timeout: 10000, timeout: 10000,
headers: { headers: {
'Content-Type': 'application/json' "Content-Type": "application/json",
} },
}) });
instance.interceptors.request.use( instance.interceptors.request.use(
(config) => { (config) => {
const token = localStorage.getItem('auth_token') const token = localStorage.getItem("auth_token");
if (token) { if (token) {
config.headers.Authorization = `Bearer ${token}` config.headers.Authorization = `Bearer ${token}`;
} }
return config return config;
}, },
(error) => Promise.reject(error) (error) => Promise.reject(error),
) );
instance.interceptors.response.use( instance.interceptors.response.use(
(response) => response.data, (response) => response.data,
(error) => { (error) => {
if (error.response?.status === 401) { if (error.response?.status === 401) {
localStorage.removeItem('auth_token') localStorage.removeItem("auth_token");
localStorage.removeItem('user') localStorage.removeItem("user");
window.location.href = '/login' window.location.href = "/login";
} }
if (error.code === 'ERR_NETWORK' || error.code === 'ECONNABORTED' || !error.response) { if (error.response?.status === 404) {
window.location.href = '/404' window.location.href = "/404";
} }
const responseData = error.response?.data const responseData = error.response?.data;
if (typeof responseData === 'string') { if (typeof responseData === "string") {
return Promise.reject({ data: responseData, message: responseData }) return Promise.reject({ data: responseData, message: responseData });
} }
if (responseData?.message) { if (responseData?.message) {
return Promise.reject({ data: responseData.message, message: responseData.message }) return Promise.reject({
data: responseData.message,
message: responseData.message,
});
} }
return Promise.reject(error.response?.data || { data: error.message, message: error.message }) return Promise.reject(
} error.response?.data || { data: error.message, message: error.message },
) );
},
);
export default instance export default instance;

Loading…
Cancel
Save