feat: 适配乐高 OneApi 数据源,将 options.params 从 Array 改为 Object

This commit is contained in:
carlos.czw 2020-08-27 22:09:57 +08:00
parent 8d062313a5
commit aa135c0554
2 changed files with 15 additions and 3 deletions

View File

@ -12,6 +12,7 @@ import DesignerPlugin from '@ali/lowcode-plugin-designer';
import { Skeleton, SettingsPrimaryPane } from '@ali/lowcode-editor-skeleton';
import { deepValueParser } from './deep-value-parser';
import { liveEditingRule, liveEditingSaveHander } from './vc-live-editing';
import { Item } from '@alifd/next/types/breadcrumb';
export const editor = new Editor();
globalContext.register(editor, Editor);
@ -307,6 +308,17 @@ designer.addPropsReducer((props: any, node: Node) => {
if (node.isRoot()) {
if (props.dataSource) {
const { online } = props.dataSource;
online.forEach((item: any) => {
const newParam: any = {};
if (item.options && item.options.params && item.options.params.length) {
item.options.params.map((element: any) => {
if (element.name) {
newParam[element.name] = element.value;
}
});
item.options.params = newParam;
}
});
props.dataSource.list = online;
}
}

View File

@ -56,6 +56,7 @@ export default class DataHelper {
generateDataSourceMap() {
const res = {};
this.ajaxList.forEach((item) => {
item.id = item.id || item.name;
res[item.id] = {
status: DS_STATUS.INIT,
load: (...args) => this.getDataSource(item.id, ...args),
@ -201,7 +202,6 @@ export default class DataHelper {
}
});
} else {
// debugger;
res[id] = await this.dataHandler(id, dataHandler, data, error);
this.updateDataSourceMap(id, res[id], error);
}
@ -210,7 +210,7 @@ export default class DataHelper {
const doFetch = (type, req) => {
this.fetchOne(type, req)
.then(async (data) => {
console.log(data);
console.log(data)
if (afterRequest) {
this.appHelper.utils.afterRequest(item, data, undefined, async (data, error) => {
await fetchHandler(data, error);
@ -289,7 +289,7 @@ export default class DataHelper {
default:
method = method.toUpperCase();
if (method === 'GET') {
return get(uri, params, headers, otherProps);
return get(uri || otherProps.url, params, headers, otherProps);
}
if (method === 'POST') {
return post(uri, params, headers, otherProps);