Files
suixinkan_ios_new/suixinkan/Features/Payment/Payment.md
汉秋 5d4613f317 新增支付与钱包模块,并接入首页路由
引入真实收款与钱包页面替换首页占位入口,通过 RootView 接入 API,并支持银行卡 OSS 上传及二维码保存到相册。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-22 17:46:01 +08:00

1.3 KiB
Raw Blame History

收款模块

模块职责

Features/Payment 承接首页 payment_collectionpayment_qrpayment_code 权限入口,负责当前景区下的收款码、动态金额二维码、收款记录和到账轮询。

代码结构

  • PaymentAPI:封装收款码和扫码收款记录接口。
  • PaymentCollectionViewModel:管理收款码加载、金额校验、动态二维码生成和到账轮询。
  • PaymentCollectionRecordViewModel:管理收款记录加载和按日期分组。
  • PaymentCollectionView:展示收款码、金额弹窗、保存二维码和收款状态。
  • PaymentCollectionRecordView:展示收款记录明细。

数据流

  1. 页面读取 AccountContext.currentScenic
  2. 有景区时调用 /api/yf-handset-app/photog/pay-code?scenic_id=... 获取收款码。
  3. 设置金额后基于动态收款码 URL 追加 amount 和可选 remark,生成二维码。
  4. 开始轮询 /api/yf-handset-app/photog/order/photo-scan-order-list?scenic_id=...,最多 60 次,每 2 秒一次。
  5. 命中新收款记录后进入成功态,并使用系统语音播报到账金额。

缓存边界

收款码 URL、付款状态、轮询结果不落盘。保存二维码只写入系统相册App 不额外缓存图片文件或 Data。