import { objToUrl } from '@/utils/index';
function request(options) {
  return new Promise((resolve, reject) => {
    let _obj = {
      url: '',
      data: {},
      method: 'GET',
      header: {
        'Content-Type': 'application/json;charset=UTF-8'
      }
    };
	const baseUrl = getApp().globalData.baseUrl
    Object.assign(_obj, options);
    _obj.header['X-AUTH-TOKEN'] = uni.getStorageSync('token');
    _obj.header['X-HEADER-APPID'] = 'WuyoKG1AcDZzLwxfhOAC+E16SeG3+mDqVYmsa/e5HRE=';
    _obj.url = baseUrl + _obj.url;
    _obj.method = _obj.method.toUpperCase();
    _obj.success = function(res) {
      if (_obj.url.indexOf('checkLogin') > -1) {
        resolve(res);
      } else if (res.data.status === '900010') {
        setTimeout(function() {
          wx.showToast({
            title: '登录已过期,请重新登录',
            icon: 'none',
            duration: 1000
          });
        }, 10);
		setTimeout(function() {
		  const currentRoute = getRoutePath();
		  mpvue.removeStorage({
		    key: 'token'
		  });
		  const url = `/pages/login/login?lanuch=${currentRoute.lanuch}&path=` + encodeURIComponent(currentRoute.url);
		  mpvue.reLaunch({ url });
		}, 1000);
      } else {
        resolve(res);
      }
    };
    _obj.fail = function(err) {
      reject(err);
    };
    _obj.complete = function() {};
    uni.request(_obj);
  });
}
function getRoutePath() {
  // eslint-disable-next-line no-undef
  const pages = getCurrentPages(); // 获取加载的页面
  const currentPage = pages[pages.length - 1]; // 获取当前页面的对象
  let url = currentPage.route; // 当前页面url
  const options = objToUrl(currentPage.options); // 如果要获取url中所带的参数可以查看options
  const lanuch = [
    'pages/personCenter/personCenter',
    'pages/myPackage/myPackage',
    'pagesMe/personData/personData',
    'pages/packageDetail/packageDetail',
	'pages/chooseCar/chooseCar'
  ].includes(url);
  url = '/' + url;
  if (options.length) {
    url += '?' + options;
  }
  return {
    url,
    lanuch
  };
}
export default request;