ajax.js 1.48 KB
import Vue from 'vue';
import axios from 'axios';
import VueAxios from 'vue-axios';
import iview from 'iview';
// 导入封装的回调函数
import {
    cbs,
    gbs
} from 'config/settings.js';
// axios 配置
axios.defaults.timeout = 5000;
axios.defaults.baseURL = gbs.host;

// http request 拦截器
axios.interceptors.request.use(
    config => {
        // if (store.state.token) {
        //     config.headers.Authorization = `token ${store.state.token}`;
        // }
        return config;
    },
    err => {
        return Promise.reject(err);
    });

// http response 拦截器
axios.interceptors.response.use(
    response => {
        iview.Message.info("response拦截器vue");
        console.log("response拦截器");
        return response;
    },
    error => {
        if (error.response) {
            switch (error.response.status) {
                case 500:
                    console.log("500,服务器异常");
                    // 401 清除token信息并跳转到登录页面
                    // store.commit(types.LOGOUT);
                    // router.replace({
                    //     path: 'login',
                    //     query: { redirect: router.currentRoute.fullPath }
                    // })
            }
        }
        iview.Message.error("发生了错误")
            // console.log(JSON.stringify(error)); //console : Error: Request failed with status code 402
        return Promise.reject(error.response.data)
    });

Vue.use(VueAxios, axios);