devicesmgt/sgzb-screen/src/api/index.js

77 lines
1.7 KiB
JavaScript
Raw Normal View History

2023-12-16 18:10:04 +08:00
/**
* axios全局配置
*/
import axios from 'axios'
2024-09-19 13:22:34 +08:00
import { Message } from 'element-ui'
2023-12-16 18:10:04 +08:00
axios.defaults.timeout = 30000
// 默认配置
axios.defaults.baseURL = ''
console.log(process.env.NODE_ENV, '当前环境变量-----')
console.log(process.env.API_ROOT, '当前环境代理')
2023-12-16 18:10:04 +08:00
axios.interceptors.request.use(
(config) => {
2023-12-16 18:10:04 +08:00
let token = localStorage.getItem('token')
if (token) {
config.headers.accessToken = `${token}`
config.headers.Authorization = `${token}`
2023-12-16 18:10:04 +08:00
}
return config
2023-12-16 18:10:04 +08:00
},
(error) => {
return Promise.reject(error)
2023-12-16 18:10:04 +08:00
}
)
2023-12-16 18:10:04 +08:00
// 添加一个请求拦截器
axios.interceptors.response.use(
(response) => {
2023-12-16 18:10:04 +08:00
if (response.data) {
if (response.data.code === 401) {
2024-09-19 13:22:34 +08:00
Message({ message: '当前登录状态已过期,请重新登录', type: 'error' })
localStorage.clear()
location.href = '/bigScrap/login/index'
2023-12-16 18:10:04 +08:00
} else if (response.data.code === 200) {
return Promise.resolve(response.data)
} else {
return response.data
}
} else {
return Promise.reject(response.data)
}
},
(error) => {
if (
error.code === 'ECONNABORTED' &&
error.message.indexOf('timeout') !== -1
)
2023-12-16 18:10:04 +08:00
console.log('请求超时!')
return Promise.reject(error)
}
)
2023-12-16 18:10:04 +08:00
// 通用POST方法
export const POST = (url, params) => {
return axios.post(`${url}`, params).then((response) => response)
}
2023-12-16 18:10:04 +08:00
// 通用POST_JSON方法
export const POST_JSON = (url, json, params) => {
return axios
.post(`${url}`, json, {
params: params,
})
.then((response) => response)
}
2023-12-16 18:10:04 +08:00
// 通用GET方法
export const GET = (url, params) => {
return axios
.get(`${url}`, {
params: params,
})
.then((response) => response)
}