echoes/frontend/types/theme.ts
lsy 7f2a02dc61 后端:重构postgre数据结构
前端:定义好主题,插件,上下文参数的接口
2024-11-11 19:31:40 +08:00

56 lines
1.8 KiB
TypeScript

// /d:/data/echoes/frontend/types/theme.ts
/**
* 主题配置和模板接口定义文件
* 该文件包含主题配置接口和主题模板接口的定义,用于主题管理和渲染。
*/
/**
* 主题配置接口
*/
export interface ThemeConfig {
name: string; // 主题的唯一标识符
displayName: string; // 主题的显示名称
version: string; // 主题的版本号
description?: string; // 主题的描述信息
author?: string; // 主题的作者信息
entry: string; // 主题的入口组件路径
templates: Map<string, ThemeTemplate>; // 主题模板的映射表
/** 主题全局配置 */
globalSettings?: {
layout?: string; // 主题的布局配置
css?: string; // 主题的CSS配置
};
/** 主题配置文件 */
settingsSchema?: {
type: string; // 配置文件的类型
/** 属性定义 */
properties: Record<string, {
type: string; // 属性的数据类型
title: string; // 属性的标题
description?: string; // 属性的描述信息
data?: any; // 属性的默认数据
}>;
};
/** 依赖 */
dependencies?: {
plugins?: string[]; // 主题所依赖的插件列表
assets?: string[]; // 主题所依赖的资源列表
};
/** 钩子 */
hooks?: {
beforeRender?: string; // 渲染前执行的钩子
afterRender?: string; // 渲染后执行的钩子
onActivate?: string; // 主题激活时执行的钩子
onDeactivate?: string; // 主题停用时执行的钩子
};
}
/**
* 主题模板接口
*/
export interface ThemeTemplate {
path: string; // 模板文件的路径
name: string; // 模板的名称
description?: string; // 模板的描述信息
}