@cmstops/pro-compo
Version:
[物料平台文档中心](https://arco.design/docs/material/guide)
41 lines (40 loc) • 1.05 kB
JavaScript
import axios from "axios";
import { Message } from "@arco-design/web-vue";
import { getToken } from "./auth.js";
function request(BASE_API, options) {
const service = axios.create({
baseURL: BASE_API,
timeout: 5e4,
withCredentials: true
});
service.interceptors.request.use(
(config) => {
if (getToken()) {
config.headers.Authorization = `Bearer ${getToken()}`;
}
return config;
},
(error) => {
return Promise.reject(error);
}
);
service.interceptors.response.use(
(response) => {
const res = response.data;
if (res.Code != null && res.Code === 200)
res.code = 0;
if ((res == null ? void 0 : res.code) !== 0) {
if (res == null ? void 0 : res.real_error) {
Message.warning({ content: res.real_error });
}
return Promise.reject(new Error(res.message || "Error"));
}
return res;
},
(error) => {
return Promise.reject(error);
}
);
return service(options);
}
export { request as default };