UNPKG

@choerodon/master

Version:
54 lines (40 loc) 1.66 kB
import { get } from 'lodash'; import JSONbig from 'json-bigint'; import paramsSerializer from "./paramsSerializer"; export function transformDataToString(data) { if (typeof data !== 'string') { return JSONbig.stringify(data); } return data; } // response里面返回的config.data是个字符串对象 function getDataMark(data) { if (data) { var tempData = data; if (typeof tempData !== 'string') { try { tempData = JSONbig.stringify(tempData); } catch (error) { console.error('stringfy markKey of data failed'); } } return tempData; } return ''; } // 区别请求的唯一标识,这里用方法名+请求路径 // 如果一个项目里有多个不同baseURL的请求 + 参数 export default function getMark(config) { var _getKey, _config$method; var getKey = function getKey(key) { return get(config, key); }; var tempParam = getKey('params'); if (get(tempParam, 'forceUpdate')) { delete tempParam.forceUpdate; } // params标识处理 var tempQueryString = ((_getKey = getKey('paramsSerializer')) !== null && _getKey !== void 0 ? _getKey : paramsSerializer)(tempParam); // data标识处理 var dataMark = getDataMark(getKey('data')); // base标识 var requestMark = [(config === null || config === void 0 ? void 0 : (_config$method = config.method) === null || _config$method === void 0 ? void 0 : _config$method.toLowerCase()) || 'unknownMethod', config === null || config === void 0 ? void 0 : config.url]; getKey('params') && requestMark.push(tempQueryString); getKey('data') && requestMark.push(dataMark); return requestMark.join('&'); }