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', }) }