美文网首页
axios 创建全进拦截器

axios 创建全进拦截器

作者: robotlee8 | 来源:发表于2019-04-07 00:04 被阅读0次
    // axios 拦截器
    var instance = axios.create({
        baseURL: "", // api的base_url
        // baseURL: "http://localhost:8080", // api的base_url
        timeout: 60000 // 请求超时时间
    })
    
    // request拦截器
    instance.interceptors.request.use(
        config => {
            config.headers['X-Token'] = Cookies.get("Admin-Token") // 让每个请求携带自定义token 请根据实际情况自行修改
            return config
        },
        error => {
            console.log(error) // for debug
            Promise.reject(error)
        })
    
    // respone拦截器
    instance.interceptors.response.use(
        response => {
            const res = response.data
            if(res.status !== 0) { // 本后台只有status为0时是成功;根据自己的情况自己写逻辑
                /* 注释的为element-ui 的Message
               myVueObj.$message({
                    message: res.msg,
                    type: 'error',
                    duration: 5 * 1000
                })
              */
    
                return Promise.reject('error')
            } else {
                return response.data
            }
        },
        error => {
            console.log('err' + error) // for debug
    
            if(error.response.status == 404) {
                window.location.reload()
            } else {
                /*注释的为element-ui 的Message
                  myVueObj.$message({
                    message: '系统异常,请联系管理员!',
                    type: 'error',
                    duration: 5 * 1000
                })
                 */
    
            }
    
            return Promise.reject(error)
        }
    )
    

    相关文章

      网友评论

          本文标题:axios 创建全进拦截器

          本文链接:https://www.haomeiwen.com/subject/vaxjiqtx.html