You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.4 KiB
54 lines
1.4 KiB
import * as qs from "qs"
|
|
import axios from "axios"
|
|
import { ElLoading } from 'element-plus'
|
|
|
|
|
|
let loading = null;
|
|
const service = axios.create({
|
|
baseURL:"http://112.124.40.88:8002",
|
|
// baseURL:"",
|
|
timeout: 500000
|
|
})
|
|
|
|
service.interceptors.request.use(config => {
|
|
loading = ElLoading.service({
|
|
customClass: 'loading',
|
|
spinner: 'el-icon-loading',
|
|
background: 'rgba(0, 0, 0, 0)'
|
|
})
|
|
return config;
|
|
}, error => {
|
|
Promise.reject(error)
|
|
})
|
|
|
|
service.interceptors.response.use(response => {
|
|
loading.close()
|
|
return response.data;
|
|
}, error => {
|
|
loading.close()
|
|
return Promise.reject(error)
|
|
}
|
|
)
|
|
|
|
export function post(url: any, params = {}, contentType = "application/x-www-form-urlencoded") {
|
|
return new Promise((resolve, reject) => {
|
|
if ('application/x-www-form-urlencoded' === contentType){
|
|
params = qs.stringify(params);
|
|
}
|
|
service({ url, method: 'post', data: params, headers: { 'Content-Type': contentType }}).then(response => {
|
|
resolve(response);
|
|
}).catch(error => {
|
|
reject(error);
|
|
})
|
|
})
|
|
}
|
|
|
|
export function get(url, params = {}, baseUrl = '') {
|
|
return new Promise((resolve, reject) => {
|
|
service({ url, baseURL: baseUrl, method: 'get', params: params }).then(response => {
|
|
resolve(response);
|
|
}).catch(error => {
|
|
reject(error);
|
|
})
|
|
})
|
|
}
|