import ax from "axios"
|
import { IS_PRODUCTION } from "@/common/config"
|
// import { wsCache } from "@/common/untils/wsCache"
|
import { responseHandler, errorResponseHandler } from "./responseHandler"
|
|
const JsonText = window.getServerJson
|
const axios = ax.create({
|
baseURL: IS_PRODUCTION ? JsonText.managePath : "", // url = base url + request url
|
withCredentials: true,
|
headers: {
|
"X-Requested-With": "XMLHttpRequest", // 给后台区分异步请求
|
"Content-Type": "application/json;charset=UTF-8"
|
},
|
timeout: 300000 // request timeout
|
})
|
// 添加一个请求拦截器
|
axios.interceptors.request.use(
|
(request) => {
|
if (request.data instanceof FormData) {
|
// 不处理
|
} else if (request.data) {
|
request.data["domain"] = JsonText.systemCode
|
} else {
|
request.data = { domain: JsonText.systemCode }
|
}
|
|
//用户登录标记
|
// const token = wsCache.get('token')
|
// request.headers['token'] = token
|
|
return request
|
},
|
(error) => {
|
return Promise.reject(error)
|
}
|
)
|
// 添加一个响应拦截器
|
axios.interceptors.response.use(
|
(response) => {
|
// 处理响应请求池
|
if (response.data.status.toString() === "200" && response.data.success === true) {
|
return response
|
} else {
|
responseHandler(response)
|
return Promise.reject(response.data)
|
}
|
},
|
(error) => {
|
errorResponseHandler(error)
|
return Promise.reject(error)
|
}
|
)
|
|
// 通用方法
|
export const POST = (url, params, config = {}) => {
|
return axios.post(`${url}`, params, config).then((res) => res.data)
|
}
|
export const GET = (url, params, config = {}) => {
|
return axios.get(`${url}`, { params: params, ...config }).then((res) => res.data)
|
}
|
export const PUT = (url, params, config = {}) => {
|
return axios.put(`${url}`, params, config).then((res) => res.data)
|
}
|
export const DELETE = (url, params, config = {}) => {
|
return axios.delete(`${url}`, { params: params }, config).then((res) => res.data)
|
}
|
export const PATCH = (url, params, config = {}) => {
|
return axios.patch(`${url}`, params, config).then((res) => res.data)
|
}
|
|
export const Axios = axios
|