UNPKG

trs-ui-app

Version:

TRS 可视化低代码平台 前端移动 UI 组件库 👍

74 lines (72 loc) 2.17 kB
function getDeepResponseData(m, d) { let data; const map = JSON.parse(JSON.stringify(m)); delete map.root; if (typeof d !== 'object') { const obj = {}; Object.keys(map).forEach(p => { obj[p] = d; }); return [obj]; } if (Array.isArray(d)) { if (!d.length) { return []; } data = d.map(i => { const obj = {}; Object.keys(map).forEach(p => { if (typeof map[p] !== 'object') { if (map[p] === '') { obj[p] = i; } else { obj[p] = i[map[p]]; } } else { obj[p] = getDeepResponseData(map[p], d[map[p].root]); } }); return obj; }); } else { data = {}; Object.keys(map).forEach(p => { if (typeof map[p] !== 'object' && (d[map[p]] || d[map[p]] === 0)) { data[p] = d[map[p]]; delete d[map[p]]; } else if (typeof map[p] === 'object' && d[map[p].root]) { data[p] = getDeepResponseData(map[p], d[map[p].root]); delete d[map[p].root]; } else { data[p] = ''; } }); } return Object.assign(d, data); } function getResponseData(map, data) { const rs = data.map(d => { const obj = {}; Object.keys(map).forEach(p => { if (typeof map[p] !== 'object' && (d[map[p]] || d[map[p]] === 0)) { obj[p] = d[map[p]]; delete d[map[p]]; } else if (typeof map[p] === 'object' && d[map[p].root]) { obj[p] = getDeepResponseData(map[p], d[map[p].root]); delete d[map[p].root]; } else { obj[p] = ''; } }); return Object.assign(d, obj); }); return rs; } export { getResponseData };