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
|
||
})
|
||
}
|
||
}
|
||
} |