echoes/frontend/contracts/themeContract.ts
lsy 5ca72e42cf 前端:创建api,主题,路由服务,重新定义主题插件的约束,错误,加载组件
后端:去除文章和模板的自义定路径,创建获取系统令牌api
2024-11-18 01:09:28 +08:00

51 lines
1.7 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// File path: contracts\themeTypeContract.ts
/**
* 主题配置和模板接口定义文件
* 该文件包含主题配置接口和主题模板接口的定义,用于主题管理和渲染。
*/
/**
* 主题配置接口
* 定义主题的基本信息、模板、全局配置、依赖、钩子和路由。
*/
import { SerializeType } from "contracts/generalContract";
export interface ThemeConfig {
name: string; // 主题的名称
displayName: string; // 主题的显示名称
icon?: string; // 主题图标URL可选
version: string; // 主题的版本号
description?: string; // 主题的描述信息
author?: string; // 主题的作者信息
templates: Map<string, ThemeTemplate>; // 主题模板的映射表
/** 主题全局配置 */
globalSettings?: {
layout?: string; // 主题的布局配置
css?: string; // 主题的CSS配置
};
/** 主题配置文件 */
settingsSchema: Record<string, {
name: string; // 属性的名称
description?: string; // 属性的描述信息
data: SerializeType; // 属性的默认数据
}>;
/** 路由 */
routes: {
index: string; // 首页使用的模板
post: string; // 文章使用的模板
tag: string; // 标签使用的模板
category: string; // 分类使用的模板
error: string; // 错误页面用的模板
page: Map<string, string>; // 独立页面模板
}
}
/**
* 主题模板接口
* 定义主题模板的基本信息,包括路径、名称和描述。
*/
export interface ThemeTemplate {
path: string; // 模板文件的路径
name: string; // 模板的名称
description?: string; // 模板的描述信息
}