axios.ts 672 B

12345678910111213141516171819202122
  1. // eslint-disable-next-line no-restricted-imports
  2. import axios from 'axios';
  3. import dayjs from 'dayjs';
  4. import qs from 'qs';
  5. // eslint-disable-next-line no-restricted-imports
  6. export * from 'axios';
  7. const customAxios = axios.create({
  8. headers: {
  9. 'X-Requested-With': 'XMLHttpRequest',
  10. 'Content-Type': 'application/json',
  11. },
  12. });
  13. // serialize Date config: https://github.com/axios/axios/issues/1548#issuecomment-548306666
  14. customAxios.interceptors.request.use((config) => {
  15. config.paramsSerializer = params => qs.stringify(params, { serializeDate: (date: Date) => dayjs(date).format('YYYY-MM-DDTHH:mm:ssZ') });
  16. return config;
  17. });
  18. export default customAxios;