Files
pangolin/client/test
wangjia 55f6b1a19e fix(client/pay): 优化付款流程两处体感——点击即时反馈 + 到账更快反映
复盘反馈:①点「立即购买」有一点卡顿 ②付完刷新不及时、等了十几秒。

① 卡顿:_buy 原本 await createOrder 网络往返、返回才导航,期间购买页零反馈 →
   改为 start()(同步先置 creating)后立刻导航到支付页,用户点击即见页面切换+转圈
   (支付页已有 creating/failed/succeeded 全相位渲染);加 _buying 防连点(避免下双单)。

② 刷新慢(客户端可控部分):
   - _startPolling 首拍立即发(原 Timer.periodic 要干等一个周期才首查);
   - 新增 AppLifecycleListener,付款后从微信/支付宝返回 app 即刻补查一拍
     (等待付款期切后台,iOS 会挂起 Dart Timer,回前台首拍可能迟到十几秒——主因);
   - 轮询间隔 3s→2s。

测试:payment_flow 新增「start 立即补一拍→已到账不等周期直接 succeeded」,
共 7 个单测 + 支付页 widget 全绿;flutter analyze 干净。

注:十几秒还有服务端一半——GetOrder 的 activated 只认本地 row=paid(仅 webhook 落),
即便主动查 pay 网关已 paid 也不即时开通。reconcile-on-read(查单时网关已成功即幂等 settle)
是更大且触及结算逻辑的改动,另议。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FEVUXAbFT6bF1Qw27RHWoD
2026-09-05 19:52:43 +08:00
..