后端模型

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';  // 编译错误
}