View 页面
结构声明
- TS Declaration
- Java Class
- JSON Schema
interface View {
"concept": "View", // 产品概念
"pageTemplateId": string, // 页面模板 Id
"name": string, // 页面名称
"uuid": string, // 唯一标识
"title": string, // 页面标题
"crumb": string, // 面包屑
"auth": boolean, // 权限控制,访问该页面是否需要登录和鉴权
"authDescription": string, // 权限资源描述
"isIndex": boolean, // 是否是默认跳转的页面
"template": string, // 未解析的模板代码
"script": string, // 未解析的逻辑代码
"style": string, // 未解析的样式代码
"elements": Array<ViewElement>, // 页面元素列表
"params": Array<Param>, // 输入参数列表
"variables": Array<Variable>, // 变量列表
"logics": Array<Logic>, // 逻辑列表
"bindEvents": Array<BindEvent>, // 元素绑定事件列表
"bindRoles": Array<string>, // 绑定的角色
"children": Array<View>, // 页面列表
}
class ViewTreeNode {
ConceptEnum concept; // 产品概念
String pageTemplateId; // 页面模板 Id
String name; // 页面名称
String uuid; // 唯一标识
String title; // 页面标题
String crumb; // 面包屑
boolean auth; // 权限控制,访问该页面是否需要登录和鉴权
String authDescription; // 权限资源描述
boolean isIndex; // 是否是默认跳转的页面
String template; // 未解析的模板代码
String script; // 未解析的逻辑代码
String style; // 未解析的样式代码
List<ViewElementTreeNode> elements; // 页面元素列表
List<ParamTreeNode> params; // 输入参数列表
List<VariableTreeNode> variables; // 变量列表
List<LogicTreeNode> logics; // 逻辑列表
List<BindEventTreeNode> bindEvents; // 元素绑定事件列表
List<String> bindRoles; // 绑定的角色
List<ViewTreeNode> children; // 页面列表
}
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "#/definitions/View",
"definitions": {
"View": {
"type": "object",
"properties": {
"concept": {
"type": "string",
"const": "View"
},
"pageTemplateId": {
"type": "string"
},
"name": {
"type": "string"
},
"uuid": {
"type": "string"
},
"title": {
"type": "string"
},
"crumb": {
"type": "string"
},
"auth": {
"type": "boolean"
},
"authDescription": {
"type": "string"
},
"isIndex": {
"type": "boolean"
},
"template": {
"type": "string"
},
"script": {
"type": "string"
},
"style": {
"type": "string"
},
"elements": {
"type": "array",
"items": {
"$ref": "#/definitions/ViewElement"
}
},
"params": {
"type": "array",
"items": {
"$ref": "#/definitions/Param"
}
},
"variables": {
"type": "array",
"items": {
"$ref": "#/definitions/Variable"
}
},
"logics": {
"type": "array",
"items": {
"$ref": "#/definitions/Logic"
}
},
"bindEvents": {
"type": "array",
"items": {
"$ref": "#/definitions/BindEvent"
}
},
"bindRoles": {
"type": "array",
"items": {
"type": "string"
}
},
"children": {
"type": "array",
"items": {
"$ref": "#/definitions/View"
}
}
},
"required": [
"concept",
"pageTemplateId",
"name",
"uuid",
"title",
"crumb",
"auth",
"authDescription",
"isIndex",
"template",
"script",
"style",
"elements",
"params",
"variables",
"logics",
"bindEvents",
"bindRoles",
"children"
],
"additionalProperties": false
}
}
}
示例
简单示例
- JSON
- YAML
{
"concept": "View",
"pageTemplateId": null,
"name": "list",
"title": "学生列表",
"crumb": "学生列表",
"auth": true,
"authDescription": "学生信息资源描述",
"isIndex": true,
"template": "<div>test</div>",
"script": "export default { data() { return { userInfo: {} }; } }",
"style": "body { font-size: 18px; }",
"elements": [],
"params": [],
"variables": [],
"logics": [],
"bindEvents": [],
"bindRoles": [],
"children": []
}
concept: View
pageTemplateId: null
name: list
title: 学生列表
crumb: 学生列表
auth: true
authDescription: 学生信息资源描述
isIndex: true
template: <div>test</div>
script: "export default { data() { return { userInfo: {} }; } }"
style: "body { font-size: 18px; }"
elements: []
params: []
variables: []
logics: []
bindEvents: []
bindRoles: []
children: []