Files
device-voice-h5/openspec/changes/add-payment-submit-guard/tasks.md
sexygoat 3f997063f4
All checks were successful
构建并部署前端到生产环境 / build-and-deploy (push) Successful in 1m37s
fix: 优化体验
2026-05-09 16:14:06 +08:00

1.9 KiB

1. Wallet Recharge Confirmation Submit Guard

  • 1.1 Add a dedicated submitting state for the wallet recharge confirmation flow
  • 1.2 Ignore repeated taps while confirmRecharge is already running
  • 1.3 Bind the confirmation button state to the submitting state and restore it on every exit path

2. Package Payment Confirmation Submit Guard

  • 2.1 Add a dedicated submitting state for the package payment confirmation flow
  • 2.2 Ignore repeated taps while confirmPay is already running
  • 2.3 Bind the confirmation button state to the submitting state and restore it on every exit path

3. Order List Immediate Payment Submit Guard

  • 3.1 Add a dedicated submitting state for order list immediate payment
  • 3.2 Ignore repeated taps while handleOrderPayment is already running for the current payment flow
  • 3.3 Bind the order list immediate payment button state to the submitting state and restore it on every exit path

4. Wallet Recharge Order Immediate Payment Submit Guard

  • 4.1 Add a dedicated submitting state for wallet recharge order immediate payment
  • 4.2 Ignore repeated taps while handleRechargePayment is already running for the current payment flow
  • 4.3 Bind the recharge order immediate payment button state to the submitting state and restore it on every exit path

5. Regression Verification

  • 5.1 Verify repeated taps only trigger one effective submit in the wallet recharge modal
  • 5.2 Verify repeated taps only trigger one effective submit in the package payment modal
  • 5.3 Verify repeated taps only trigger one effective submit in the order list immediate payment flow
  • 5.4 Verify repeated taps only trigger one effective submit in the wallet recharge order immediate payment flow
  • 5.5 Verify users can retry after validation failure, payment cancel, payment failure, list refresh, and modal reopen