|
|
var messageFn = (msg) => { layui.use('layer', function(){ const layer = layui.layer; layer.msg(msg); });};
const BASE_PREFIX = '/thing';// 创建实例
const tokenArr = window.location.search.split('token=');const cacheToken = sessionStorage.getItem('v1@CacheToken');const tokenParsed = JSON.parse(cacheToken || '{}');const axiosInstance = axios.create({ // 前缀
baseURL: BASE_PREFIX, // 超时
timeout: 1000 * 30, // 请求头
headers: { 'Content-Type': 'application/json', 'token': tokenArr[1] || tokenParsed.token || window.iframeNodeToken || '', 'tenantCode': localStorage.getItem('v1@CacheTenantCode') || '', 'companyId': localStorage.getItem('v1@CacheTenantCode') || '', },});
// 请求拦截器
axiosInstance.interceptors.request.use( (config) => { // TODO 在这里可以加上想要在请求发送前处理的逻辑
// TODO 比如 loading 等
return config }, (error) => { return Promise.reject(error) },);
// 响应拦截器
axiosInstance.interceptors.response.use( (response) => { if (response.status === 200) return response.data
messageFn(response.status) return response }, (error) => { console.log('error', error) const { response } = error if (response) { if (response.status === 401) { messageFn("未授权") window.createLoginDialog(); } else { messageFn(response.status) } return Promise.reject(response.data) } messageFn('网络连接异常,请稍后再试!') return Promise.reject(error) },);var service = { get(url, data, config) { return axiosInstance.get(url, { params: data, ...config }) },
post(url, data, config) { return axiosInstance.post(url, data, config) },
put(url, data, config) { return axiosInstance.put(url, data, config) },
delete(url, data) { return axiosInstance.delete(url, { data }) },
upload: (url, file) => axiosInstance.post(url, file, { headers: { 'Content-Type': 'multipart/form-data' }, }), download: (url, data) => { window.location.href = `${BASE_PREFIX}/${url}?${formatJsonToUrlParams(data)}` },};
|