通用需求
axios 封装
封装 axios 请求
import axios from 'axios'
axios.defaults.baseURL = 'http://ttapi.research.itcast.cn/'
const request = axios.create({
baseURL: 'http://ttapi.research.itcast.cn/'
})
export default request
import request from './request.js'
export const getUserInfoApi = () => {
return request({
method: 'GET',
url: '/user'
})
}
import {
getUserInfoApi} from './xxx.js'
export default getUserInfoApi = getUserInfoApi
设置 axios 请求/拦截器
import axios from 'axios'
import router from '@/router'
import {
Message } from 'element-ui'
import store from '@/store'
import {
isTimeOut } from '@/utils/auth.js'
const timeOut = 3600 * 1000
const request = axios.create({
baseURL: process.env.VUE_APP_BASE_API,
timeout: 10 * 1000
})
request.interceptors.request.use(config => {
if (store.getters.token) {
if (isTimeOut(timeOut)) {
store.dispatch('user/logout')
router.push('/login')
return Promise.reject(new Error('登录超时'))
}
config.headers['Authorization'] = `Bearer ${
store.getters.token}`
}
return config
}, error => {
return Promise.reject(error)
})
request.interceptors.response.use(response => {
const {
success, message, data } = response.data
if (success) {
return data