feat(client): 购买页三档 + 支付页 render_type 多态(crypto/redirect/qr 预留)+ 导航接线
购买页三档 pro(月/季/年,金额来自 GET /v1/pay/catalog)选档 → 选支付方式 → 下单; 支付页按 session.render_type 多态渲染(crypto_address 地址+精确金额+复制、redirect 外链拉起、qr 预留复制兜底),轮询用 Task 6 的 paymentFlowProvider,409 CURRENCY_MISMATCH 走「换方式开新单」。同时收口 paymentFlowProvider 非 autoDispose 带来的轮询生命周期缺口——支付页 dispose 时停轮询(cancel() 延后到微任务执行,避免 在自身 unmount 期间同步改 state 炸 Riverpod 断言)。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013nMthbVEmQquxBRKb9Fj8u
This commit is contained in:
@@ -326,4 +326,59 @@ class StringsZh extends AppText {
|
||||
String get ob3Title => '安全 · 无日志';
|
||||
@override
|
||||
String get ob3Sub => '端到端加密,我们不记录你的任何浏览数据。';
|
||||
|
||||
@override
|
||||
String get purchaseTitle => '购买套餐';
|
||||
@override
|
||||
String get paymentTitle => '支付';
|
||||
@override
|
||||
String get buyNow => '立即购买';
|
||||
@override
|
||||
String get payMethodAlipay => '支付宝';
|
||||
@override
|
||||
String get payMethodCrypto => 'USDT (TRC20)';
|
||||
@override
|
||||
String get choosePayMethod => '选择支付方式';
|
||||
@override
|
||||
String get proMonthly => '专业版·月付';
|
||||
@override
|
||||
String get proQuarterly => '专业版·季付';
|
||||
@override
|
||||
String get proYearly => '专业版·年付';
|
||||
@override
|
||||
String get perQuarter => '/季';
|
||||
@override
|
||||
String get perYear => '/年';
|
||||
@override
|
||||
String get payAmountLabel => '转账金额';
|
||||
@override
|
||||
String get payAddressLabel => '收款地址';
|
||||
@override
|
||||
String get payNetworkLabel => '网络';
|
||||
@override
|
||||
String get payExactAmountHint => '金额须精确一致,到账后自动开通';
|
||||
@override
|
||||
String get copied => '已复制';
|
||||
@override
|
||||
String get openAlipay => '打开支付宝支付';
|
||||
@override
|
||||
String get openAlipayHint => '完成支付后返回,本页会自动刷新';
|
||||
@override
|
||||
String get awaitingPayment => '等待付款';
|
||||
@override
|
||||
String get paySucceeded => '已开通';
|
||||
@override
|
||||
String get payExpiresAt => '有效期至';
|
||||
@override
|
||||
String get payDone => '完成';
|
||||
@override
|
||||
String get payFailed => '支付失败';
|
||||
@override
|
||||
String get payRetry => '重试';
|
||||
@override
|
||||
String get switchPayMethod => '换一种支付方式';
|
||||
@override
|
||||
String get cancelOrder => '取消订单';
|
||||
@override
|
||||
String get qrNotSupported => '请复制内容后在支付宝内打开';
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user