新版设置支付方式开关设计
背景
SellWeight 当前主页的设置入口进入 WeightSetActivity。该页面没有接入旧设置中的 FragmentPayment,导致用户无法在正常入口控制刷卡、刷码和人脸支付开关。
方案比较
- 在新版设置新增独立“支付设置”并复用
FragmentPayment:入口清晰、改动最小。
- 嵌入“系统设置”:页面过长且职责混杂。
- 新建支付 Fragment:重复已有逻辑,维护风险更高。
采用方案 1。
页面与组件设计
- 在“商品设置”和“系统设置”之间增加“支付设置”。
WeightSetActivity 完整接入支付页签的点击、选中态、恢复、创建、读取、缓存和 Tag 映射。
- 直接复用
FragmentPayment 的三开关、摄像头校验和偏好持久化逻辑。
- 保留退出时至少选择一种支付方式、人脸激活码必填的校验。
默认值与兼容性
- 刷卡支付:开启。
- 刷码支付:开启。
- 人脸支付:关闭。
- 已有设备继续读取历史偏好,不覆盖原有选择;不改变现有系统设置页签数值。
验收标准
- 新版设置显示独立支付设置入口。
- 卡、码、脸可分别开关;卡、码默认开启,人脸默认关闭,历史偏好保持不变。
- 无摄像头时不能开启人脸支付。
- 全部关闭或人脸未激活时,退出校验继续生效。
验证范围
运行 JVM 单元测试、Debug APK 构建和 git diff --check,检查页签映射完整;不执行 Git 暂存、提交、推送或分支切换。