用途:为 Angular 项目集成 Firebase 提供参考,覆盖 AngularFire SDK 与 Firebase Data Connect(GraphQL + PostgreSQL)两部分。
主要能力:AngularFire 部分涉及实时数据库与 Firestore 的响应式模式(collectionData、docData 配合 toSignal())、依赖注入(inject(Firestore)、inject(Auth))、认证状态管理与函数式 canActivate 守卫,并强调安全规则是主要防线、不可信任客户端。Data Connect 部分采用 schema 优先流程,在 schema.gql 中用 @table 定义表,修改 schema 后运行 firebase dataconnect:sdk:generate 生成 SDK,使用生成的 SDK 且不修改 dataconnect-generated/。指令规则包括:@table 用于所有数据库实体,@auth 用于所有类型(不允许公开访问),@default 用于 UUID(uuidV4())与时间戳(request.time),@col(name: "...") 用于 JSON 键与数据库列名映射。
使用方式:可与 NgRx Signals 集成,用 signalStore 与 withMethods 包装查询,通过 rxMethod、switchMap、tapResponse 更新状态。安全与性能方面:API 密钥与配置存放于 environment.ts,GraphQL 只取所需字段,认证模式示例为 @auth(rules: [{ allow: OWNER, ownerField: "userId" }]),密钥须放在环境变量或 GCP Secret Manager 中。
限制:资料未提供具体版本、收费、平台支持范围与完整示例,schema 变更后必须先重新生成 SDK 再改应用逻辑。