12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import axios from 'axios'
- import router from '../../src/router/index'
- import { Message, Loading } from 'element-ui'
- axios.create({
- baseURL: process.env.BASE_API,
- timeout: 10000
- })
- let loadingInstance = null
- axios.interceptors.request.use(config => {
- const dom = document.getElementById('content')
- if (loadingInstance == null) loadingInstance = Loading.service({ target: dom })
- const token = sessionStorage.getItem('token')
- if (token) {
- config.headers.Authorization = 'Bearer ' + token
- }
- return config
- },
- err => {
- return Promise.reject(err)
- })
- axios.interceptors.response.use(
- response => {
- if (loadingInstance !== null) {
- loadingInstance.close()
- loadingInstance = null
- }
- if (response.data.errcode !== 0 || response.data.errcode === 403) {
- if (response.data.errmsg.cmd) {
- Message.error(response.data.errmsg.cmd)
- return false
- }
- Message.error(response.data.errmsg)
- return false
- }
- return response.data
- },
- error => {
- const { status, data } = error.response
- if (loadingInstance !== null) {
- loadingInstance.close()
- loadingInstance = null
- }
- if (status === 401) {
- Message.error('请重新登录')
- router.push('/login')
- return false
- }
- if (status === 500) {
- if (data.cmd) {
- Message.error(data.cmd)
- return false
- }
- if (data.errmsg) {
- Message.error(data.errmsg)
- return false
- }
- }
- Message.error(data.errmsg)
- return data
- }
- )
- export default axios
|