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.)
This commit is contained in:
2026-07-24 02:47:13 +08:00
parent f8a90ad305
commit 7ffcc848d0
17 changed files with 371 additions and 1548 deletions

40
UPGRADE_NOTES.md Normal file
View File

@@ -0,0 +1,40 @@
# 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 修复
## 阶段
- [x] 阶段 0基线 & 锁版本
- [x] 阶段 1去掉 Stripe
- [ ] 阶段 2依赖替换与升级
- [ ] 阶段 3空安全迁移
- [ ] 阶段 4Web 跑起来
---
## 改动记录
### 阶段 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#<orderId>
- 保留: PAYMENT_METHOD_CODE_STRIPE='stripe'(API 仍返回该 code路由到 e-Transfer)payment_platform.dart 的 'stripe' 显示名(后续美化时调整)