You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
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 })}
|