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)}` }, };