From 7c1994f64f0bab88f3001dae166e607bee2c844a Mon Sep 17 00:00:00 2001 From: skycurtain Date: Sat, 9 Aug 2025 00:56:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E8=AE=BE=E8=AE=A1=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E5=A4=9A=E6=9F=A5=E8=AF=A2=E7=9A=84=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E9=85=8D=E7=BD=AE=E5=B9=B6=E6=9B=B4=E6=96=B0=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E5=99=A8=E5=8F=82=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/datax-screen-config.ts | 48 +++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/src/datax-screen-config.ts b/src/datax-screen-config.ts index cb08096..c6f7d3e 100644 --- a/src/datax-screen-config.ts +++ b/src/datax-screen-config.ts @@ -19,8 +19,8 @@ export interface ScreenDesignModeConfig { name: string; // 组件名称(可由用户定义) parentId?: string; // 组件的父组件ID(如果存在),没有parentId的组件称为顶层组件 // 当多个顶层组件成组时,组件的层级会被修改,也就是说分组并不是组件层级的参考系,组件的层级永远只与大屏和父组件有关 - zIndex?: number; // 组件在大屏/父组件中的层级 - children: Array; // 子组件id + zIndex?: number; // 组件在大屏/父组件中的层级 + children: Array; // 子组件id // 设计时属性,运行时会忽略 design: { hidden: boolean; @@ -49,23 +49,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; }; // 组件交互 @@ -137,10 +143,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 {}