website/utils/http.js
2025-05-10 17:58:01 +08:00

46 lines
1.0 KiB
JavaScript

import axios from "axios";
// import store from '@/store'
const baseURL = "https://mall.gpxscs.cn/mobile";
const service = axios.create({
baseURL: baseURL, // url = base url + request url
headers: {
"X-Requested-With": "XMLHttpRequest",
"Content-Type": "application/json-patch+json",
},
timeout: 5000, // request timeout
});
// 拦截前
// request interceptor
service.interceptors.request.use(
(config) => {
const token = localStorage.getItem("token");
if (token) {
config.headers["authorization"] = `Bearer ${token}`;
}
return config;
},
(error) => {
return Promise.reject(error);
}
);
//拦截后
// response interceptor
service.interceptors.response.use(
(response) => {
return response;
},
(error) => {
if (error.response.status === 401) {
// Token 无效或过期,清除 Token 并跳转到登录页面
const userStore = useUserStore();
userStore.clearToken();
router.push("/login");
}
return Promise.reject(error);
}
);
export default service;