vue配置请求拦截和响应拦截

背景:
我们在做后台管理系统时通常会封装统一的http请求,这样方便我们来管理axios请求配置

  1. 我们通常会在请求是定义一个超时时间
  2. 在请求拦截器中做token的:超时、更新、headers请求头的处理
  3. 在响应拦截器中做 请求失败状态时的错误处理和成功直接返回结果。
import axios from 'axios'
import { Message } from 'element-ui'
import store from '@/store'
import router from '@/router'
import { getTimeStamp, getRefreshToken, getExpiresIn } from '@/utils/auth'
const TimeOut = getExpiresIn() // token失效时间
const refreshTokenTime = TimeOut - 900 // 开始换token的时间
var refreshToken = 0 // 换token只请求一次标识

const service = axios.create({
  baseURL: process.env.VUE_APP_BASE_API, // 设置axios请求的基础的基础地址
  timeout: 15000 // 定义5秒超时
}) // 创建一个axios的实例

// 请求拦截器
service.interceptors.request.use(config => {
  if (store.getters.token) {
    const checkTime = IsCheckTimeOut()
    // console.log(checkTime, '当前使用时间')
    // console.log(checkTime > TimeOut)
    // console.log(r

你可能感兴趣的:(vue.js,前端,javascript)