import Vue from 'vue' import axios from 'axios' // ---------------------------------------------- 封装 post 和 get const instance = axios.create({ baseURL: 'http://127.0.0.1:9090/', timeout: 10000 * 30, withCredentials: true, headers: { 'Content-Type': 'application/json; charset=utf-8' } }) /** * 请求拦截 */ instance.interceptors.request.use(config => { config.headers['token'] =Vue.cookie.get('token') // 请求头带上token return config }, error => { return Promise.reject(error) }) /** * 响应拦截 */ instance.interceptors.response.use(response => { if (response.data && response.data.code === 401) { // 401, token失效 clearLoginInfo() router.push({ name: 'login' }) } return response }, error => { return Promise.reject(error) }) export const createAPI = (url, method, data) => { let config = {} if (method === 'get') { config.params = data } else { config.data = data } return instance({ url, method, ...config }) }