第四篇:服务篇
定义产品的「数据怎么流动」
概述
服务篇定义 BFM Pay 与外部系统(区块链、平台 API)交互的标准接口,采用适配器模式屏蔽底层差异。
章节导航
01-服务架构
定义服务层的整体架构模式。
要点:
- 适配器模式
- 注册中心
- 服务发现
- 依赖注入
02-链服务
定义与区块链交互的标准接口。
| 服务 | 说明 |
|---|---|
| IIdentityService | 地址派生、签名 |
| IAssetService | 资产余额查询 |
| ITransactionService | 交易构建与广播 |
| IChainService | 链信息查询 |
| IStakingService | 质押操作 |
03-平台服务
定义跨平台能力的抽象接口。
| 服务 | 说明 |
|---|---|
| IBiometricService | 生物识别 |
| IStorageService | 安全存储 |
| ICameraService | 相机/扫码 |
| IDeepLinkService | 深度链接 |
04-事件系统
定义服务间的事件通信机制。
要点:
- 订阅模式
- 事件定义
- 错误处理
05-Mock服务规范
定义 Mock 服务的实现规范,用于开发和测试。
06-服务定义系统
Schema-first 的服务定义系统,提供类型安全和 Mock 控制。
07-链配置管理
定义多链配置的获取、存储和管理规范。
要点:
- 三种配置来源:内置默认、订阅源、手动添加
- 订阅源刷新机制
- 链启用/禁用管理
- 版本兼容性处理
08-钱包数据存储
定义钱包敏感数据的安全存储规范。
要点:
- 敏感数据加密存储(助记词、私钥)
- IndexedDB 存储非敏感数据
- 数据迁移策略
- DWEB 生物识别增强
09-联系人服务
定义联系人和地址簿的管理规范。
要点:
- 一个联系人支持多个地址
- 自动识别地址格式(检测链类型)
- 地址输入时的联系人建议
- 与转账流程的集成
设计原则
| 原则 | 说明 |
|---|---|
| 接口优先 | 先定义接口,再实现 |
| 异步优先 | 涉及 I/O 的方法返回 Promise |
| 类型安全 | 参数和返回值有明确类型 |
| 错误明确 | 使用错误码而非字符串 |
| 可测试 | 支持 Mock 替换 |
下一篇
完成服务篇后,继续阅读 第五篇:组件篇。