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