cqscreen-ui/src/api/index.js

71 lines
1.5 KiB
JavaScript

/**
* axios全局配置
*/
import axios from 'axios'
axios.defaults.timeout = 30000
// 默认配置
// axios.defaults.baseURL = process.env.API_ROOT;
axios.defaults.baseURL = 'http://192.168.0.56:21627/bigScreen'
axios.interceptors.request.use(
(config) => {
let token = localStorage.getItem('token')
if (token) {
config.headers.accessToken = `${token}`
config.headers.Authorization = `${token}`
}
return config
},
(error) => {
return Promise.reject(error)
}
)
// 添加一个请求拦截器
axios.interceptors.response.use(
(response) => {
if (response.data) {
if (response.data.code === 401) {
} 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
)
console.log('请求超时!')
return Promise.reject(error)
}
)
// 通用POST方法
export const POST = (url, params) => {
return axios.post(`${url}`, params).then((response) => response)
}
// 通用POST_JSON方法
export const POST_JSON = (url, json, params) => {
return axios
.post(`${url}`, json, {
params: params,
})
.then((response) => response)
}
// 通用GET方法
export const GET = (url, params) => {
return axios
.get(`${url}`, {
params: params,
})
.then((response) => response)
}