Files
flutter_wisetronic/UPGRADE_NOTES.md
peima 7ffcc848d0 feat: Phase 1 — remove Stripe, switch to e-Transfer
- 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.)
2026-07-24 02:47:13 +08:00

2.0 KiB
Raw Blame History

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空安全迁移
  • 阶段 4Web 跑起来

改动记录

阶段 0

  • 创建 UPGRADE_NOTES.md
  • pubspec.yaml: environment sdk >=2.7.0 <3.0.0>=3.0.0 <4.0.0flutter >=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' 显示名(后续美化时调整)