vue axios.js

src/plugins/axios.js

import axios from 'axios';
import { Message } from 'element-ui';
import router from '../router';

// 跨域
axios.defaults.withCredentials = true

// 创建axios实例
const instance = axios.create({
  //请求根路径
  baseURL: 'http://127.0.0.1:8888/api/private/v1/',
  timeout: 5000,
})

// request 请求拦截器
instance.interceptors.request.use(
  config=>{

    // 设置header
    config.headers["Content-Type"] = "application/x-www-form-urlencoded";
    config.headers["Content-Type"] = "application/json; charset=UTF-8";

    // 让每一个请求携带自定义token
    if (sessionStorage.getItem("token")) {
      // header添加token
      config.headers["Authorization"] = sessionStorage.getItem("token")
    }
    return config;
  },
  error => {
    return Promise.reject(error);
  }

);

// response 响应拦截器
instance.interceptors.response.use(
  response => {
    return response;
  },
  error => {
    // 错误信息提示
    if (error.response.status == 400) {
      Message({
        message: "参数信息有误",
        center: true
      });
      return;
    } else if (error.response.status == 401) {
      Message({
        message: "请重新登陆",
        center: true
      });
      router.push("/login");
      return;
    } else if (error.response.status == 404) {
      Message({
        message: "用户不存在",
        center: true
      });
      return;
    } else if (error.response.status == 500) {
      Message({
        message: "服务器内部错误",
        center: true
      });
      return;
    } else if (error.response.status == 560) {
      Message({
        message: "数据库异常",
        center: true
      });
      return;
    }
    // debug 模式下打印异常
    console.log("err"+ error);
    Message({
      message: error.message,
      type: "error",
      duration: 5 * 1000
    });
    return Promise.reject(error);
  }
);

// 导出 axios实例
export default instance
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值