Vue Ajax Axios Sekundärverpackung, Abfangjäger anfordern, entsprechend abfangen

 Abdeckung der Basisadresse, Beurteilung, ob ein Token vorhanden ist, Analyse der Daten, Anforderungs-Interceptor, Antwort-Interceptor

import axios from 'axios'
import store from '@/store'

export const baseURL = 'www.baidu.com'
const instance = axios.create({
  baseURL,
  timeout: 5000
})

// 请求拦截器
instance.interceptors.request.use(config => {
  const profile = store.state.user.profile
  if (profile && profile.token) {
    config.headers.authorization = 'Bearer ' + profile.token
  }
  return config
}, err => Promise.reject(err))

// 响应拦截器
instance.interceptors.response.use(config => {

  return config.data
}, err => Promise.reject(err))

/**
 * @param { String } url url地址 
 * @param { String } method 方法名 -> get post
 * @param { Object } submitData 传递的参数 -> 对象
 */

export default (url, method, submitData) => {
  return instance({
    url,
    method,
    [method.toLowerCase() === 'get' ? 'params' : 'data']: submitData
  })
}

Guess you like

Origin blog.csdn.net/Kerwin__li/article/details/128976819