import axios from 'axios';
import { getQueryString } from './utils';
//禁用F12功能
function disableF12() {
  document.onkeydown = function() {
    var e = window.event || arguments[0];
    if (e.keyCode == 123) {
      return false;
    } else if (e.ctrlKey && e.shiftKey && e.keyCode == 73) {
      return false;
    }
  };
  //禁用鼠标右键
  document.oncontextmenu = function() {
    return false;
  };
}
// disableF12();

const baseURL = 'http://52.83.169.190:8002/'; //线上正式环境
// const baseURL = 'http://69.235.144.91:8002/';  测试环境

//对axios二次封装
// console.log('getQueryString', getQueryString('token'));
// console.log('localStorage', localStorage.getItem('token'));
const token = getQueryString('token') || localStorage.getItem('token');
const request = axios.create({
  baseURL,
  timeout: 15000,
  headers: {
    // 'Content-Type': 'application/json',
    // 部分接口需要formdate格式的数据  'Content-Type': 'application/x-www-form-urlencoded' qs.stringify(data)
    accessToken: token,
  },
});

function checkToken(config) {
  // alert(' 校验token111');
  request
    .get('http://69.235.144.91:8048/yszh-login/auth/checkToken')
    .then((res) => {
      console.log('--res', res);
      if (res.data.code === 200) {
        console.log('token 检验通过');
        return config;
      } else {
        localStorage.removeItem('token');
        // alert(' 失败');
        console.log('token校验没通过  返回登录页');
        // window.open('http://localhost:3000/#/login', '_self');
        window.open('http://69.235.144.91:3048/#/login', '_self');
      }
    })
    .catch((err) => {
      localStorage.removeItem('token');
      // alert(' 服务器报错');
      console.log('token校验没通过  返回登录页');
      window.open('http://69.235.144.91:3048/#/login', '_self');
      console.log('err', err);
      return false;
    });
}
checkToken();

//拦截器
request.interceptors.request.use((config) => {
  // alert('拦截器..');
  console.log('token---', '拦截器方法校验token');
  console.log(config);
  if (getQueryString('token') || localStorage.getItem('token')) {
    checkToken(config);
  } else {
    console.log('token为空....');
    localStorage.removeItem('token');
    window.open('http://69.235.144.91:3048/#/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;
