新增支付与钱包模块,并接入首页路由
引入真实收款与钱包页面替换首页占位入口,通过 RootView 接入 API,并支持银行卡 OSS 上传及二维码保存到相册。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
31
suixinkan/Features/Wallet/Wallet.md
Normal file
31
suixinkan/Features/Wallet/Wallet.md
Normal file
@ -0,0 +1,31 @@
|
||||
# 钱包模块
|
||||
|
||||
## 模块职责
|
||||
|
||||
`Features/Wallet` 承接首页 `wallet` 权限入口,负责个人钱包首页、收益明细、提现记录、提现申请、银行卡设置和积分兑换。
|
||||
|
||||
## 代码结构
|
||||
|
||||
- `WalletAPI`:封装钱包、提现、银行卡、地区、积分相关接口。
|
||||
- `WalletViewModel`:管理钱包汇总、收益明细分页、提现记录分页和提现资格判断。
|
||||
- `WithdrawApplyViewModel`:管理提现信息、金额校验、短信验证码和提现提交。
|
||||
- `WithdrawalSettingsViewModel`:管理银行卡资料、图片上传和银行卡更新提交。
|
||||
- `PointsRedemptionViewModel`:管理积分概览、兑换记录和兑换申请。
|
||||
- `WalletView`:钱包首页和钱包内部二级路由入口。
|
||||
|
||||
## 提现资格流
|
||||
|
||||
点击提现后先查询实名认证:
|
||||
|
||||
1. 未提交或驳回:进入已迁移的 `RealNameAuthView`。
|
||||
2. 审核中:提示等待实名认证审核通过。
|
||||
3. 实名认证通过:查询银行卡资料。
|
||||
4. 无银行卡或银行卡驳回:进入 `WithdrawalSettingsView`。
|
||||
5. 银行卡审核中:提示等待审核。
|
||||
6. 银行卡通过:进入 `WithdrawApplyView`。
|
||||
|
||||
## 上传与缓存边界
|
||||
|
||||
银行卡正反面照片使用 `PhotosPicker` 选择后,通过 `OSSUploadService.uploadBankCardImage` 上传到 `bank_card/yyyyMMdd/scenicId/...` 路径,再把最终 URL 提交给服务端。
|
||||
|
||||
钱包数据只保存在各 ViewModel 内存中。短信验证码、OSS STS、提现表单、银行卡图片 Data 和积分兑换表单均不落盘。
|
||||
Reference in New Issue
Block a user