38 lines
922 B
JavaScript
38 lines
922 B
JavaScript
|
|
import axios from 'axios'
|
|||
|
|
|
|||
|
|
export default function createFetch(url) {
|
|||
|
|
const l2Request = axios.create({
|
|||
|
|
baseURL: url,
|
|||
|
|
headers: {
|
|||
|
|
'Content-Type': 'application/json'
|
|||
|
|
},
|
|||
|
|
timeout: 10000,
|
|||
|
|
// 自定义响应数据转换,处理大整数ID精度问题
|
|||
|
|
transformResponse: [data => {
|
|||
|
|
// 在JSON解析前将所有id数值转换为字符串,避免大整数精度丢失
|
|||
|
|
const modifiedData = data.replace(/"id":\s*(\d+)/g, '"id": "$1"');
|
|||
|
|
return JSON.parse(modifiedData);
|
|||
|
|
}]
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
l2Request.interceptors.response.use(response => {
|
|||
|
|
return response.data
|
|||
|
|
})
|
|||
|
|
|
|||
|
|
return {
|
|||
|
|
getReportSummary: (params) => {
|
|||
|
|
return l2Request({
|
|||
|
|
method: 'get',
|
|||
|
|
url: '/api/report/summary',
|
|||
|
|
params
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
getReportDetail: (params) => {
|
|||
|
|
return l2Request({
|
|||
|
|
method: 'get',
|
|||
|
|
url: '/api/report/details',
|
|||
|
|
params
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|