模板全局属性
模板全局属性指作用于整个模板的属性,主要包括模板的基础信息(名称、分类、描述)与布局配置,它们共同确定模板的用途与结构。
概述
模板没有运行时页面那样的容器、间距、问卷等外观属性;它的「全局属性」即模板自身的元数据与布局:
- 基础信息(名称、分类、描述)在列表的新建 / 编辑弹窗中维护。
- 布局(
Layout)在布局编辑器中维护,是模板被加载到页面时真正复用的内容。 - 分类决定模板在编辑器中可用的组件集合(参见 平台页面模板),且创建后不可修改。
配置项
| 配置项 | 说明 |
|---|---|
| 名称 | 模板名称,必填,用于标识与引用 |
| 分类 | 模板类型:页面构建 模板 / 视图移动端渲染,必填,创建后不可修改 |
| 描述 | 模板的用途说明 |
| 布局 | 模板的组件结构与排列,在布局编辑器中配置 |
名称与分类
名称用于在模板列表与页面「加载模板」选择器中标识模板,建议使用能体现用途的名称(如「标准详情页」「卡片列表页」)。
分类是模板最关键的选择:页面构建模板支持完整的页面组件集合,用于标准页面;视图移动端渲染支持布局 / 占位 / UI 组件,用于移动端视图渲染。分类在创建时确定,之后不可更改,如需变更需新建模板。
布局
布局以组件树形式保存,结构与平台页面完全一致,每个节点的字段含义参见 布局器 的属性明细。模板不包含图表组件。
下一步
属性明细
以下内容面向技术实现与 AI 检索。
属性表
| 属性名 | 类型 | 含义 | 取值/存储值 |
|---|---|---|---|
Name | string | 模板名称,必填 | 展示名称 |
Category | int | 模板分类,必填 | 0 页面构建模板 / 1 视图移动端渲染 |
Description | string | 模板描述 | 纯文本,可为空 |
Layout | WidgetItem[] | 模板布局配置 | 组件树,JSON 序列化存储 |
Properties | object | 自定义属性 | 空对象 {},预留扩展 |
通用实体属性
模板继承自 EntityBase,同时具备以下通用属性:
| 属性名 | 类型 | 含义 |
|---|---|---|
_id | string(GUID) | 模板主键 |
Customized | bool | 是否被自定义过 |
CustomCreated | bool | 是否由用户自定义创建 |
IsDeleted | bool | 是否已删除(逻辑删除) |
CreatedBy / CreatedTime | string / datetime | 创建人 / 创建时间 |
ModifiedBy / ModifiedTime | string / 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 | 获取模板全部属性 |