diff --git a/src/datax-screen-config.ts b/src/datax-screen-config.ts index 047c207..ab91ed8 100644 --- a/src/datax-screen-config.ts +++ b/src/datax-screen-config.ts @@ -23,8 +23,8 @@ export interface ScreenDesignModeConfig { name: string; // 组件名称(可由用户定义) parentId?: string; // 组件的父组件ID(如果存在),没有parentId的组件称为顶层组件 // 当多个顶层组件成组时,组件的层级会被修改,也就是说分组并不是组件层级的参考系,组件的层级永远只与大屏和父组件有关 - zIndex?: number; // 组件在大屏/父组件中的层级 - children: Array; // 子组件id + zIndex?: number; // 组件在大屏/父组件中的层级 + children: Array; // 子组件id // 设计时属性,运行时会忽略 design: { hidden: boolean; @@ -53,23 +53,29 @@ export interface ScreenDesignModeConfig { // 例如:现有全局变量 user ,内容是 { id: '1', name: 'zhangsan' }, // 则可以使用 {{ user.id }} 来引用 user.id ,即 '1' dataSource: { - variableNames: Array; // 关联的全局变量名称 - type: "static" | "variable" | "api" | "graphql"; - config: { - value?: any; - api?: { - url?: string; - method?: "GET" | "POST"; - headers?: Record; - query?: Record; - body?: Record; + // 支持多数据源查询 + queries: Array<{ + id: string; // 查询ID,例如 'A', 'B' + name: string; // 查询名称 + type: "static" | "variable" | "api" | "graphql"; + config: { + value?: any; + variableNames?: Array; // 关联的全局变量名称 + api?: { + url?: string; + method?: "GET" | "POST"; + headers?: Record; + query?: Record; + body?: Record; + }; + graphql?: { + query?: string; + variables?: Record; + }; }; - graphql?: { - query?: string; - variables?: Record; - }; - }; - cors: boolean; // 服务器代理请求 + cors?: boolean; // 服务器代理请求 + }>; + // 过滤器现在可以接收多个查询的结果,例如 { A: data, B: data } filterIds: Array; }; // 组件交互 @@ -141,10 +147,10 @@ export interface ScreenDesignModeConfig { filters: Array<{ id: string; name: string; - payload: string; // (data: any, variables: any) => Promise + payload: string; // (data: { queryId: string; queryData: any }[], variables: any) => Promise }>; } -export interface ScreenPreviewModeConfig { } +export interface ScreenPreviewModeConfig {} -export interface ScreenPublishModeConfig { } +export interface ScreenPublishModeConfig {}