5 changed files with 121 additions and 33 deletions
@ -0,0 +1,80 @@ |
|||
import * as qs from "qs" |
|||
import axios from "axios" |
|||
import { format } from './string' |
|||
import { ElLoading, ElMessage, ElMessageBox } from 'element-plus' |
|||
import { MessageType } from "element-plus/lib/el-message/src/types"; |
|||
|
|||
let loading = null; |
|||
const service = axios.create({ |
|||
baseURL: 'http://localhost:3000', |
|||
// baseURL: '',
|
|||
// baseURL: 'http://192.168.30.84:8999',
|
|||
timeout: 500000 |
|||
}) |
|||
let count = 0 |
|||
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(regionId, file, params = {}, baseUrl = '') { |
|||
return new Promise((resolve, reject) => { |
|||
let url = getJsonFile(regionId, file); |
|||
service({ url, baseURL: baseUrl, method: 'get', params: params }).then(response => { |
|||
resolve(response); |
|||
}).catch(error => { |
|||
reject(error); |
|||
}) |
|||
}) |
|||
} |
|||
|
|||
function getJsonFile(regionId, name) { |
|||
let pattern = 'json/{0}/{1}'; |
|||
return format(pattern, regionId, name); |
|||
} |
|||
|
|||
export function showMessageBox(message: string, title: string = "错误", type: MessageType = "error") { |
|||
ElMessage({ |
|||
message: message, |
|||
center: true, |
|||
duration: 2000, |
|||
customClass: 'message-text', |
|||
}) |
|||
} |
|||
|
|||
export function showNoDataMessage() { |
|||
ElMessage({ |
|||
message: '暂无数据', |
|||
center: true, |
|||
duration: 2000, |
|||
customClass: 'message-text', |
|||
}) |
|||
} |
@ -0,0 +1,17 @@ |
|||
export function deepClone(obj) { |
|||
let objClone = Array.isArray(obj) ? [] : {}; |
|||
if (obj && typeof obj === 'object') { |
|||
for (let k in obj) { |
|||
if (obj.hasOwnProperty(k)) { |
|||
//判断obj子元素是否为对象,如果是,递归复制
|
|||
if (obj[k] && typeof obj[k] === 'object') { |
|||
objClone[k] = deepClone(obj[k]); |
|||
} else { |
|||
//如果不是简单复制
|
|||
objClone[k] = obj[k]; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
return objClone |
|||
} |
Loading…
Reference in new issue