mirror of
https://github.com/whyour/qinglong.git
synced 2025-07-10 14:58:05 +08:00
46 lines
1.1 KiB
TypeScript
46 lines
1.1 KiB
TypeScript
import { extend } from 'umi-request';
|
|
import { notification } from 'antd';
|
|
import config from './config';
|
|
|
|
notification.config({
|
|
duration: 2,
|
|
});
|
|
|
|
const time = Date.now();
|
|
const errorHandler = function (error: any) {
|
|
if (error.response) {
|
|
const message = error.data
|
|
? error.data.message || error.data
|
|
: error.response.statusText;
|
|
if (error.response.status !== 401 && error.response.status !== 502) {
|
|
notification.error({ message });
|
|
} else {
|
|
console.log(error.response);
|
|
}
|
|
} else {
|
|
console.log(error.message);
|
|
}
|
|
|
|
throw error; // 如果throw. 错误将继续抛出.
|
|
};
|
|
|
|
const _request = extend({ timeout: 60000, params: { t: time }, errorHandler });
|
|
|
|
_request.interceptors.request.use((url, options) => {
|
|
const token = localStorage.getItem(config.authKey);
|
|
if (token) {
|
|
const headers = {
|
|
Authorization: `Bearer ${token}`,
|
|
};
|
|
return { url, options: { ...options, headers } };
|
|
}
|
|
return { url, options };
|
|
});
|
|
|
|
_request.interceptors.response.use(async (response) => {
|
|
const res = await response.clone();
|
|
return response;
|
|
});
|
|
|
|
export const request = _request;
|