trs-ui-app
Version:
TRS 可视化低代码平台 前端移动 UI 组件库 👍
74 lines (72 loc) • 2.17 kB
JavaScript
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 };