跳到主要内容

模板全局属性

模板全局属性指作用于整个模板的属性,主要包括模板的基础信息(名称、分类、描述)与布局配置,它们共同确定模板的用途与结构。

概述​

模板没有运行时页面那样的容器、间距、问卷等外观属性;它的「全局属性」即模板自身的元数据与布局:

  • 基础信息(名称、分类、描述)在列表的新建 / 编辑弹窗中维护。
  • 布局(Layout)在布局编辑器中维护,是模板被加载到页面时真正复用的内容。
  • 分类决定模板在编辑器中可用的组件集合(参见 平台页面模板),且创建后不可修改。

配置项​

配置项说明
名称模板名称,必填,用于标识与引用
分类模板类型:页面构建模板 / 视图移动端渲染,必填,创建后不可修改
描述模板的用途说明
布局模板的组件结构与排列,在布局编辑器中配置

名称与分类​

名称用于在模板列表与页面「加载模板」选择器中标识模板,建议使用能体现用途的名称(如「标准详情页」「卡片列表页」)。

分类是模板最关键的选择:页面构建模板支持完整的页面组件集合,用于标准页面;视图移动端渲染支持布局 / 占位 / UI 组件,用于移动端视图渲染。分类在创建时确定,之后不可更改,如需变更需新建模板。

布局​

布局以组件树形式保存,结构与平台页面完全一致,每个节点的字段含义参见 布局器 的属性明细。模板不包含图表组件。

下一步​

属性明细​

以下内容面向技术实现与 AI 检索。

属性表​

属性名类型含义取值/存储值
Namestring模板名称,必填展示名称
Categoryint模板分类,必填0 页面构建模板 / 1 视图移动端渲染
Descriptionstring模板描述纯文本,可为空
LayoutWidgetItem[]模板布局配置组件树,JSON 序列化存储
Propertiesobject自定义属性空对象 {},预留扩展

通用实体属性​

模板继承自 EntityBase,同时具备以下通用属性:

属性名类型含义
_idstring(GUID)模板主键
Customizedbool是否被自定义过
CustomCreatedbool是否由用户自定义创建
IsDeletedbool是否已删除(逻辑删除)
CreatedBy / CreatedTimestring / datetime创建人 / 创建时间
ModifiedBy / ModifiedTimestring / datetime修改人 / 修改时间

存储示例​

模板数据存储在数据表 system_metapagetemplate 中:

{
"_id": "7e6d5c4b-3a29-4817-9f6e-5d4c3b2a1908",
"Name": "标准详情页",
"Category": 0,
"Description": "左右两栏的详情页布局",
"Customized": false,
"CustomCreated": true,
"Layout": [
{
"widgetType": "Row",
"widgetTypeName": "基础容器",
"meta": { "ColumnSpace": "5" },
"children": []
}
],
"Properties": {},
"IsDeleted": false,
"CreatedBy": "admin",
"CreatedTime": "2026-01-05T09:12:30"
}

存储结构(C# 实体)​

[Table(Name = "system_metapagetemplate")]
public class MetaPageTemplate : EntityBase, ICanRecovery
{
public string Name { get; set; }
public MetaPageTemplateCategory Category { get; set; }
public string Description { get; set; }
public bool Customized { get; set; }
public bool CustomCreated { get; set; }

[JsonMap]
public List<WidgetItem> Layout { get; set; }

[JsonMap]
public MetaPageTemplateProperties Properties { get; set; } = new();
}

public enum MetaPageTemplateCategory
{
MetaPage = 0,
MetaView = 1,
}

相关接口​

接口说明
POST /api/MetaPageTemplate/Edit编辑模板基础属性
POST /api/MetaPageTemplate/SaveLayout保存模板布局
GET /api/MetaPageTemplate/Get获取模板全部属性