import axios from 'axios' export default function createFetch(url) { const l2Request = axios.create({ baseURL: 'http://' + 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 { updatePdo: (data) => l2Request({ method: 'put', url: '/api/pdo/update', data }), getPdoList: (params) => l2Request({ method: 'post', url: '/api/pdo/list', data: params }), addPdo: (data) => l2Request({ method: 'post', url: '/api/pdo/add', data }), getPdo: (excoilid, operid) => l2Request({ method: 'get', url: `/api/pdo/get/${excoilid}/${operid}` }), deletePdo: (excoilid, planId) => l2Request({ method: 'delete', url: `/api/pdo/delete/${excoilid}/${planId}` }), getSegmentList: (query) => l2Request({ method: 'get', url: '/api/segment/getSegmentHistory', params: query }), } }