@cmstops/pro-compo
Version:
[物料平台文档中心](https://arco.design/docs/material/guide)
46 lines (45 loc) • 1.28 kB
JavaScript
;
var axios = require("axios");
var webVue = require("@arco-design/web-vue");
var auth = require("./auth.js");
function _interopDefaultLegacy(e) {
return e && typeof e === "object" && "default" in e ? e : { "default": e };
}
var axios__default = /* @__PURE__ */ _interopDefaultLegacy(axios);
function request(BASE_API, options) {
const service = axios__default["default"].create({
baseURL: BASE_API,
timeout: 5e4,
withCredentials: true
});
service.interceptors.request.use(
(config) => {
if (auth.getToken()) {
config.headers.Authorization = `Bearer ${auth.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) {
webVue.Message.warning({ content: res.real_error });
}
return Promise.reject(new Error(res.message || "Error"));
}
return res;
},
(error) => {
return Promise.reject(error);
}
);
return service(options);
}
module.exports = request;