axios关于请求的封装

import axios from 'axios'
import { Toast } from 'vant'

axios.defaults.baseURL = 'https://xxx.com'
// axios.defaults.baseURL = 'https://xxx.com'

axios.defaults.timeout = 10000

axios.defaults.headers['Content-Type'] = 'application/json'

export default function(option) {
  const method = option.method || 'get'
  const token = localStorage.getItem('token')

  axios.defaults.headers.Authorization = token || ''

  const params = {
    url: option.url,
    method,
    data: option.data || {}
  }

  return new Promise((resolve, reject) => {
    axios(params)
      .then(res => {
        if (res.status >= 500) {
          resolve({
            ret: 500,
            msg: '服务器开小差了~',
            data: {}
          })
          return
        }
        resolve(res.data)
      })
      .catch(err => {
        console.log(err)
        Toast('网络开小差了~')
      })
  })
}

 

posted @ 2021-07-02 11:22  深海里的星星i  阅读(163)  评论(0)    收藏  举报