import axios from 'axios';
import { getQueryString } from './utils';

const baseURL = 'http://69.235.144.91:9001/yszh/1/api/';
// const baseURL='http://52.83.230.236:9001/yszh/1/api/',
axios.defaults.headers['content-type'] = 'application/json'; //这样写有风险,可能会有请求头是form-data的格式

const token = getQueryString('token');
const request = axios.create({
  baseURL,
  timeout: 15000,
  headers: {
    accessToken: token,
  },
});

function checkFetchToken() {
  fetch('http://69.235.144.91:8048/yszh-login/auth/checkToken', {
    method: 'GET',
    headers: {
      accessToken: token,
    },
  })
    .then((res) => res.json())
    .then((res) => {
      console.log('fetch--res', res);
      if (res.code === 200) {
        //校验通过,存储token
        token && localStorage.setItem('token', token);
      } else {
        alert('token校验失败,返回登录页');
        // window.open('http://localhost:3000/#/login', '_self');
        window.open('http://ysplatform.atelligence-ai.com/#/login', '_self');
      }
    })
    .catch(function(err) {
      console.log('err', err);
      window.open('http://ysplatform.atelligence-ai.com/#/login', '_self');
    });
}
checkFetchToken();

//拦截器
request.interceptors.request.use((config) => {
  // alert('拦截器..');
  console.log('token---', '拦截器方法校验token');
  console.log(config);
  if (localStorage.getItem('token')) {
    config.headers['accessToken'] = localStorage.getItem('token');
    return config;
  } else {
    console.log('token为空....');
    window.open('http://ysplatform.atelligence-ai.com/#/login', '_self');
  }
});

request.interceptors.response.use(
  (res) => {
    return res;
  },
  (err) => {
    if (err && err.response) {
      switch (err.response.status) {
        case 400:
          console.log('请求错误');
          break;
        case 401:
          console.log('未授权访问');
          break;
        case 404:
          console.log('页面未找到');
          break;
        default:
          console.log('其他错误信息');
      }
    }
    return err;
  }
);

//导出
export default request;
