封装axios请求方法1

 

import axios from 'axios'
import Qs from 'qs'
import { Message, Loading  } from 'element-ui'

// axios.defaults.baseURL = 'http://xx.xxx.xx.xxx:8082/'  //服务器域名
axios.defaults.baseURL = window.CONFIG.baseUrl;
axios.defaults.timeout = '10000'  //请求超时时间

axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;multipart/form-data'
axios.defaults.headers.put['Content-Type'] = 'application/x-www-form-urlencoded'
axios.defaults.headers.get['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'

/**
 * request interceptor 请求拦截(请求发出前处理请求)
 */
axios.interceptors.request.use(
  config => {
    return config
  },
  error => {
    return Promise.reject(error)
  }
)

/**
 * response interceptor 响应拦截器(处理响应数据)
 */
axios.interceptors.response.use(
  response => {
    const res = response.data
    if (res.state || res.state === 200 || res.code === 200 || res.code === '0000' || res.returnCode === '0000' || res.code === 10000) {
      return res
    } else {
      Message({
        message: res.description || 'error',
        type: 'error',
        duration: 5 * 1000
      })
      return Promise.reject(res)
    }
  },
  error => {
    Message({
      message: error.msg,
      type: 'error',
      duration: 5 * 1000
    })
    return Promise.reject(error)
  },
  error => {
    Message({
      message: error.msg,
      type: 'error',
      duration: 5 * 1000
    })
    return Promise.reject(error)
  }
)

/**
 * api请求方法
 *
 * @param {String} method       请求方法
 * @param {String} url          接口
 * @param {Object} params       提交数据
 */
const apiRequest = (method, url, params) => {
  const loading = Loading.service ({
    lock: true,
    text: 'Loading',
    spinner: 'el-icon-loading',
    background: 'rgba(0, 0, 0, 0.7)'
  });
  return new Promise((resolve, reject) => {
    axios({
      method: method,
      url: url,
      data: method !== 'get' ? Qs.stringify(params) : null,
      params: method === 'get' ? params : null
    }).then(res => {
      resolve(res)
      loading.close()
    }).catch(err => {
      reject(err)
      loading.close()
    })
  })
}

export default apiRequest;

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南北极之间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值