码迷,mamicode.com
首页 > 移动开发 > 详细

vue axios 封装

时间:2019-10-05 14:10:49      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:data   port   enc   header   headers   ret   ase   default   ext   

import Cookies from 'js-cookies';
import axios from 'axios';

/**
 * 封装,拦截
 */

axios.defaults.baseURL = 'https://api.example.com';
axios.defaults.headers['token'] = 'token';
axios.defaults.headers.post['Content-Type'] = 'application/json';

const Axios = axios.create({
    baseURL: 'https://some-domain.com/api/',
    timeout: 10000,
    headers: {
        'X-Custom-Header': 'foobar',
        'token':'token'
    }
});

Axios.interceptors.request.use(config => {
    //
    if(true) {
        config.headers['from'] = 'web'
        return config;
    } else {

        return config;
    }

},error => {
    return Promise.reject(error);
})


Axios.interceptors.response.use(res => {
    // res schema
    // res.status
    // res.data
    // res.statusText
    // res.headers
    // res.config
    // res.request
    if(res.status = 200) {
        return res.data;        
    }
},error => {
    // 错误处理
    const code = error.response.status;
    switch (code ) {
        case code > 500:
            // toast('server:error')
            break;
    
        default:
            break;
    }
    return Promise.reject(error)
})
const get = (path,params) => {
    return Axios.get(path,{params: params})
}
const post = (path,params) => {
    return Axios.post(path,params)
}
// concurrent request
const all = (...args) => {
    return axios.all(args)
}
export {  get,post,all }

references

vue axios 封装

标签:data   port   enc   header   headers   ret   ase   default   ext   

原文地址:https://www.cnblogs.com/rosendolu/p/11624395.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!