/** @format */ import Cookies from 'js-cookie'; import { extend } from 'umi-request'; import { API_URL } from './constant'; const errorHandler = function(error: any) { return Promise.resolve(error); }; const request = extend({ timeout: 10000, headers: { 'Content-Type': 'application/json', scope: 'Edata-Charts', }, errorHandler, }); request.interceptors.request.use((url, options: Record) => { if (options.headers?.scope !== 'Edata-Charts') { return { url, options, }; } const token = Cookies.get('access_token'); let parsedUrl = url; if (!/https?:\/\//.test(url)) { parsedUrl = `${API_URL[options.env || 'dev'].basePath}${url}`; } // 登录接口不能在header中添加Authorization,否则会报错 if (token && !/\/api\/auth\/oauth\/token/.test(url)) { return { url: parsedUrl, options: { ...options, headers: { ...options.headers, Authorization: `Bearer ${token}`, }, }, }; } return { url: parsedUrl, options, }; }); export default request;