App 应用
应用的根节点,包含应用的基本信息。
结构声明
- TS Declaration
- Java Class
- JSON Schema
interface App {
"id": string, // 应用 Id
"concept": "App", // 产品概念
"ideVersion": string, // IDE 版本
"name": string, // 应用标识
"title": string, // 应用标题
"icon": string, // 应用图标
"desc": string, // 应用描述
"dnsAddr": string, // 域名
"hasUserCenter": boolean, // 是否有用户中心
"hasAuth": boolean, // 是否有权限
"dataSources": Array<DataSource>, // 数据源列表
"structures": Array<Structure>, // 数据结构列表
"enums": Array<Enum>, // 枚举列表
"logics": Array<Logic>, // 逻辑列表
"overriddenLogics": Array<OverriddenLogic>, // 覆写逻辑列表
"interfaces": Array<Interface | AuthInterface>, // interfaces
"frontends": Array<Frontend>, // 前端列表
"backend": Backend, // 后端
"processes": Array<Process>, // 流程列表
"roles": Array<Role>, // 角色列表
"configuration": Configuration, // 配置管理
"dependencies": Array<Module | Connector>, // 扩展模块列表
"interfaceDependencies": Array<Module>, // 接口应用列表(兼容老版)
"integration": Integration, // 集成
"authLogics": Array<AuthLogic>, // 暴露接口的接口鉴权
"authLogicsForCallInterface": Array<AuthLogicForCallInterface>, // 调用接口的鉴权模板
"connections": Array<Connection>, // 连接
"triggerLaunchers": Array<TriggerLauncher>, // 触发器启动器
}
class AppTreeNode {
String id; // 应用 Id
ConceptEnum concept; // 产品概念
String ideVersion; // IDE 版本
String name; // 应用标识
String title; // 应用标题
String icon; // 应用图标
String desc; // 应用描述
String dnsAddr; // 域名
boolean hasUserCenter; // 是否有用户中心
boolean hasAuth; // 是否有权限
List<DataSourceTreeNode> dataSources; // 数据源列表
List<StructureTreeNode> structures; // 数据结构列表
List<EnumTreeNode> enums; // 枚举列表
List<LogicTreeNode> logics; // 逻辑列表
List<OverriddenLogicTreeNode> overriddenLogics; // 覆写逻辑列表
List<InterfaceTreeNode | AuthInterfaceTreeNode> interfaces; // interfaces
List<FrontendTreeNode> frontends; // 前端列表
BackendTreeNode backend; // 后端
List<ProcessTreeNode> processes; // 流程列表
List<RoleTreeNode> roles; // 角色列表
ConfigurationTreeNode configuration; // 配置管理
List<ModuleTreeNode | ConnectorTreeNode> dependencies; // 扩展模块列表
List<ModuleTreeNode> interfaceDependencies; // 接口应用列表(兼容老版)
IntegrationTreeNode integration; // 集成
List<AuthLogicTreeNode> authLogics; // 暴露接口的接口鉴权
List<AuthLogicForCallInterfaceTreeNode> authLogicsForCallInterface; // 调用接口的鉴权模板
List<ConnectionTreeNode> connections; // 连接
List<TriggerLauncherTreeNode> triggerLaunchers; // 触发器启动器
}
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$ref": "#/definitions/App",
"definitions": {
"App": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"concept": {
"type": "string",
"const": "App"
},
"ideVersion": {
"type": "string"
},
"name": {
"type": "string"
},
"title": {
"type": "string"
},
"icon": {
"type": "string"
},
"desc": {
"type": "string"
},
"dnsAddr": {
"type": "string"
},
"hasUserCenter": {
"type": "boolean"
},
"hasAuth": {
"type": "boolean"
},
"dataSources": {
"type": "array",
"items": {
"$ref": "#/definitions/DataSource"
}
},
"structures": {
"type": "array",
"items": {
"$ref": "#/definitions/Structure"
}
},
"enums": {
"type": "array",
"items": {
"$ref": "#/definitions/Enum"
}
},
"logics": {
"type": "array",
"items": {
"$ref": "#/definitions/Logic"
}
},
"overriddenLogics": {
"type": "array",
"items": {
"$ref": "#/definitions/OverriddenLogic"
}
},
"interfaces": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/definitions/Interface"
},
{
"$ref": "#/definitions/AuthInterface"
}
]
}
},
"frontends": {
"type": "array",
"items": {
"$ref": "#/definitions/Frontend"
}
},
"backend": {
"$ref": "#/definitions/Backend"
},
"processes": {
"type": "array",
"items": {
"$ref": "#/definitions/Process"
}
},
"roles": {
"type": "array",
"items": {
"$ref": "#/definitions/Role"
}
},
"configuration": {
"$ref": "#/definitions/Configuration"
},
"dependencies": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/definitions/Module"
},
{
"$ref": "#/definitions/Connector"
}
]
}
},
"interfaceDependencies": {
"type": "array",
"items": {
"$ref": "#/definitions/Module"
}
},
"integration": {
"$ref": "#/definitions/Integration"
},
"authLogics": {
"type": "array",
"items": {
"$ref": "#/definitions/AuthLogic"
}
},
"authLogicsForCallInterface": {
"type": "array",
"items": {
"$ref": "#/definitions/AuthLogicForCallInterface"
}
},
"connections": {
"type": "array",
"items": {
"$ref": "#/definitions/Connection"
}
},
"triggerLaunchers": {
"type": "array",
"items": {
"$ref": "#/definitions/TriggerLauncher"
}
}
},
"required": [
"id",
"concept",
"ideVersion",
"name",
"title",
"icon",
"desc",
"dnsAddr",
"hasUserCenter",
"hasAuth",
"dataSources",
"structures",
"enums",
"logics",
"overriddenLogics",
"interfaces",
"frontends",
"backend",
"processes",
"roles",
"configuration",
"dependencies",
"interfaceDependencies",
"integration",
"authLogics",
"authLogicsForCallInterface",
"connections",
"triggerLaunchers"
],
"additionalProperties": false
}
}
}
示例
简单示例
- JSON
- YAML
{
"id": null,
"concept": "App",
"ideVersion": "2.4",
"name": "course",
"title": "课程管理系统",
"icon": "http://some.storage/icon/xxx.png",
"desc": "一个管理学校、老师、学生和课程的系统。",
"dnsAddr": "course.nobug.lcap.163yun.com",
"hasUserCenter": true,
"hasAuth": true,
"dataSources": [],
"structures": [],
"enums": [],
"logics": [],
"overriddenLogics": [],
"interfaces": [],
"frontends": [],
"processes": [],
"roles": [],
"dependencies": [],
"interfaceDependencies": [],
"integration": null,
"authLogics": [],
"authLogicsForCallInterface": [],
"connections": [],
"triggerLaunchers": []
}
id: null
concept: App
ideVersion: "2.4"
name: course
title: 课程管理系统
icon: http://some.storage/icon/xxx.png
desc: 一个管理学校、老师、学生和课程的系统。
dnsAddr: course.nobug.lcap.163yun.com
hasUserCenter: true
hasAuth: true
dataSources: []
structures: []
enums: []
logics: []
overriddenLogics: []
interfaces: []
frontends: []
processes: []
roles: []
dependencies: []
interfaceDependencies: []
integration: null
authLogics: []
authLogicsForCallInterface: []
connections: []
triggerLaunchers: []