This commit is contained in:
2025-09-09 00:18:33 +08:00

View File

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