Integration Layer 是 7spade/black-tortoise 项目中的一项技能,面向 src/app/integration 目录,提供基础设施与集成模式的实现指导。
用途
该技能的目标是实现外部集成(Firebase、Data Connect、HTTP、SDK 等),并将其封装在稳定的端口(ports)之后,使应用的其他部分保持与框架无关。
层边界
- 只有 integration/infrastructure 层可以导入 Firebase/AngularFire/DataConnect SDK。
- 向 Application 层暴露接口与 token,绝不暴露平台类型。
仓储适配器
- 以最小映射实现仓储端口。
- DTO 与领域模型之间的映射在此处完成(或在 integration 内的专用 mapper 中完成)。
- 保持映射确定性;规范化时间戳与 ID。
流与信号
- 集成层可以返回 Observable(流式)或 Promise(命令)。
- 在应用边界(store/facade)转换为 signal,而不是在模板中转换。
- 确保清理:除非与生命周期绑定,否则避免手动订阅。
Data Connect
- 将生成的 SDK 视为只读输出。
- schema 变更后,先重新生成,再修改应用代码。
- 强制认证指令与最小权限查询。
安全
- 绝不信任客户端输入。
- 将密钥保存在环境变量或密钥管理器中,而不是源码中。
- 避免字符串拼接查询;使用参数化 API。
适用场景
适用于需要在 Angular 应用中接入 Firebase、AngularFire、Data Connect 等外部服务,并希望保持应用核心与框架解耦、统一处理数据映射与流式数据的项目。
限制
资料未提供该技能的具体安装命令、版本要求、依赖项、收费方式或平台支持范围,这些信息暂未提供。