Skip to content

平台服务

跨平台能力的统一抽象


概述

BFM Pay 运行在多种环境(Web 浏览器、DWEB 容器),平台服务层提供统一抽象,屏蔽环境差异。


服务列表

服务说明WebDWEB
IBiometricService生物识别认证WebAuthnPlaoc
IStorageService安全存储IndexedDB+加密Plaoc
IClipboardService剪贴板操作Clipboard APIPlaoc
ICameraService相机/扫码MediaDevicesPlaoc
IShareService系统分享Web SharePlaoc
IHapticService振动反馈Vibration APIPlaoc
IDeepLinkService深度链接URL handlingPlaoc

平台检测

IPlatformDetector {
  // 当前平台类型
  platform: 'web' | 'dweb'
  
  // 检查能力是否可用
  isAvailable(capability: Capability): boolean
  
  // 获取平台服务实例
  getServices(): IPlatformServices
}

Capability = 
  | 'biometric'
  | 'secure-storage'
  | 'clipboard'
  | 'camera'
  | 'share'
  | 'haptic'
  | 'deep-link'

降级策略

当某能力不可用时:

能力降级方案
生物识别仅使用图案锁认证
安全存储使用加密的 IndexedDB
相机隐藏扫码,提供手动输入
分享提供复制功能替代
振动静默失败

权限管理

需要权限的服务

服务权限请求时机
相机camera首次扫码时
生物识别biometric启用生物识别时
剪贴板读取clipboard-read粘贴地址时

权限状态

PermissionStatus = 'granted' | 'denied' | 'prompt'

权限被拒绝处理

  • MUST 显示引导用户到系统设置
  • MUST NOT 反复请求被拒绝的权限
  • SHOULD 提供替代操作方式

Released under the MIT License.