后端模型
src/cuba 目录包含项目实体、视图以及其他用来访问 REST 服务和查询的 Typescript 代码。阅读 TypeScript SDK 了解更多。这个目录结构如下:
-
entities- 项目实体和视图 -
entities/base- CUBA 框架和扩展插件内的实体 -
enums- 项目枚举 -
services.ts- 中间件的 REST 服务 -
queries.ts- REST 查询
以下是 CUBA 框架中 Role 实体生成的 Typescript 代码:
src/cuba/entities/base/sec$Role.ts
export class Role extends StandardEntity {
static NAME = "sec$Role";
name?: string | null;
locName?: string | null;
description?: string | null;
type?: any | null;
defaultRole?: boolean | null;
permissions?: Permission[] | null;
}
-
通过静态的
NAME属性可以很方便的访问实体名称:Role.NAME -
Role类包含模型实体的全部属性,也包含那些从类结构中继承的属性。引用字段也有对应的类型,因此能以类型安全的方式使用这些类:
function changeRole(role: Role) {
role.defaultRole = true; // ok
role.defaultRole = 'foo'; // 编译错误
}