- Drop stripe_payment + stripe_sdk deps; delete stripe pay pages/widgets - New ETransferPay widget: shows payment@wisetronic.com + R#<orderId> remark - goPayment stripe/native branches now route to e-Transfer - pay_now widgets: strip saved-cards section & dead nativePay logic - my_cards pages rewritten as e-Transfer info (route kept) - models/utils/constants cleaned of stripe; env constraint -> Dart 3 See UPGRADE_NOTES.md. (Null-safety migration is Phase 3; deps upgrade Phase 2.)
2.0 KiB
2.0 KiB
flutter_wisetronic 升级日志
目标
- 升级到 Dart 3 强制空安全(目标 SDK:本机 Flutter 3.29.3 / Dart 3.7.2,不升级全局)
- 移除 Stripe 收款,改为页面展示 e-transfer email 让客户自行 e-transfer 付款
- 第一阶段:能编译、Web 能跑起来(暂不美化)
关键决策
- 目标版本:Flutter 3.29.3 / Dart 3.7.2(钉定本机,不动全局)
- e-transfer 邮箱:
payment@wisetronic.com - 提醒客户在 e-transfer remark 里写
R#<receipt.id>以便自动化处理订单 - 搜索框:自写轻量 Web 搜索组件替换 flappy_search_bar
- Dart 3 已移除
dart migrate,空安全迁移用手工 + IDE 修复
阶段
- 阶段 0:基线 & 锁版本
- 阶段 1:去掉 Stripe
- 阶段 2:依赖替换与升级
- 阶段 3:空安全迁移
- 阶段 4:Web 跑起来
改动记录
阶段 0
- 创建 UPGRADE_NOTES.md
- pubspec.yaml: environment sdk
>=2.7.0 <3.0.0→>=3.0.0 <4.0.0,flutter>=3.29.0
阶段 1 — 去掉 Stripe(已完成)
- 删除: stripe_pay_web.dart, stripe_pay.dart, desktop/mobile_stripe_pay_web.dart, stripe_payment_method.dart
- pubspec: 移除 stripe_payment + stripe_sdk(git)
- user.dart: 移除 stripePaymentMethods 字段与解析
- utils.dart: 移除 createOrUpdateStripePaymentMethod / stripePaymentIntent / stripeChargedSuccess
- util_web.dart / util_io.dart: goPayment 的 stripe/native 分支 → 跳转 ETransferPay
- desktop/mobile_pay_now.dart: 移除“已有卡片”区块与 nativePay 死逻辑,简化列表索引
- desktop/mobile_my_cards.dart: 重写为 e-Transfer 说明页(保留路由入口)
- constants.dart: 新增 ETRANSFER_EMAIL(payment@wisetronic.com) 与 REMARK_PREFIX(R#)
- 新增 lib/widgets/general/e_transfer_pay.dart: 展示邮箱 + 提醒备注写 R#
- 保留: PAYMENT_METHOD_CODE_STRIPE='stripe'(API 仍返回该 code,路由到 e-Transfer);payment_platform.dart 的 'stripe' 显示名(后续美化时调整)