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