/**
 * created by wbz20
 * on 2018/10/13
 * */

import { Message } from 'element-ui'

// 旧系统接口处理
// 请求拦截
export function interReq (config) {
  return config
}

// 响应拦截
export function interRes (res) {
  return res
}
// 响应错误拦截
export function interResErr (error) {
  if (error && error.response) {
    console.log('interResErr', error.response)
    if (error.response.status === 403) {
      loginFail(error)
    }
  }
  return Promise.reject(error)
}

// 响应后业务处理
export function resFn (res) {
  // eslint-disable-next-line
  if (!res.data) return Promise.reject({ msg: '这里没有数据 >.<' })
  if (res.data.success === false) {
    // 还存在不给success的情况，不能直接 !success
    // 业务层失败
    // Message({
    //   message: res.data.messagesAsString || '服务器不想说话 >.<',
    //   type: 'error',
    //   duration: 2 * 1000
    // })
    const err = {
      msg: res.data.messagesAsString || res.data.message
    }
    if (res.data.messagesAsString === '数据过期') {
      window.location.reload() // 存在多页面切换仓库回来重新操作的情况, 有的接口会报数据过期
    }
    return Promise.reject(err)
  } else if (res.data.messagesAsString) {
    Message({
      message: res.data.messagesAsString,
      type: 'success',
      duration: 2 * 1000
    })
  }
  return res.data
}

// 登录失效
function loginFail (error) {
  // 登录超时
  error.msg = '登录失效了，请重新登录'
  window.location.href = '#/login'
}
