axios封装

import axios from 'axios'
const baseUrl = 'http://localhost:3000'

let execute = option => {
    let headers = option.headers
    headers || (headers = {})
    headers.token = window.vm.$t.getToken()
    let method = option.method || 'post'
    method = method.toLocaleLowerCase()
    return new Promise((resolve,reject)=>{
        axios({
            headers:headers,
            url: option.url,
            method: option.method,
            data:  option.data,
            params: option.params
        }).then(({data}) => {
            resolve(data)
        }).catch(e => {
            console.log(e)
            console.log(1111)
            reject(e)
        })
    }).catch(e=>{
        console.log(e)
        console.log(2222)
        let info
        if (e.response){
            info = e.response.data
        }
        info || (info = '请求异常')
        window.vm.$message.error(info)
        if (info == '令牌已过期'){
            this.$router.push('/login')
            window.vm.$message.error(info)
            return
        }
        console.error(e)
        throw e
    })
}
const $axios = {
    post: (url, data, headers) => {
        return execute({
            url,
            data,
            headers,
            method: 'post'
        })
    },
    get: (url, params, headers) => {
        return execute({
            url,
            params,
            headers,
            method: 'get'
        })
    },
    postWithFile:(url,data,fileList,headers)=>{
        let formData = new FormData()
        if (fileList){
            fileList.forEach((item,index)=>{
                formData.append('file' + index, item)
            })
        }

        if (data){
            for(let key in data){
                formData.append(key,data[key])
            }
        }
        return execute({
            url,
            data:formData,
            headers:{'Content-Type':'multipart/form-data',...headers},
            method:'post'
        })
    }
}


export default $axios
export {baseUrl}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值