rwadurian/frontend/mining-app/lib/presentation/widgets
hailin a1aba14ccf feat(trade-password): 实现卖出交易的支付密码验证功能
## 后端改动

### auth-service
- user.aggregate.ts: 添加支付密码相关方法 (setTradePassword, verifyTradePassword, hasTradePassword)
- trade-password.service.ts: 新建支付密码业务逻辑服务
- trade-password.controller.ts: 新建支付密码 REST API (status/set/change/verify)
- user.repository.ts: 添加 tradePasswordHash 字段的持久化
- schema.prisma: 添加 trade_password_hash 字段
- migration 0003: 添加支付密码字段迁移

### trading-service
- audit-ledger.service.ts: 新建审计分类账服务 (Append-Only设计,仅INSERT)
- schema.prisma: 添加 AuditLedger 模型和 AuditActionType 枚举
- migration 0008: 添加审计分类账表迁移

## 前端改动 (mining-app)

### 新增页面/组件
- trade_password_page.dart: 支付密码设置/修改页面 (6位数字)
- trade_password_dialog.dart: 交易时的支付密码验证弹窗

### 功能集成
- trading_page.dart: 卖出时检查支付密码
  - 未设置: 提示用户跳转设置页面
  - 已设置: 弹出验证弹窗,验证通过后才能卖出
- profile_page.dart: 账户设置增加"支付密码"入口
- user_providers.dart: 添加支付密码相关 Provider
- auth_remote_datasource.dart: 添加支付密码 API 调用
- api_endpoints.dart: 添加支付密码 API 端点
- routes.dart/app_router.dart: 添加支付密码页面路由

## 安全设计
- 支付密码独立于登录密码 (6位纯数字)
- 审计分类账采用链式哈希保证完整性
- 所有敏感操作记录不可变审计日志

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 18:12:39 -08:00
..
kline_chart fix(mining-app): K线蜡烛图最小实体高度优化,消除横线"-"显示 2026-02-04 21:31:52 -08:00
main_shell.dart fix(mining-app): 自动更新检查未触发 — 修复双重节流 + 添加调试日志 2026-01-30 12:20:56 -08:00
qr_scanner_sheet.dart feat(mining-app): 二维码扫描支持从相册选择图片识别 2026-01-31 07:21:56 -08:00
shimmer_loading.dart feat(mining-app): shimmer placeholder for all pages 2026-01-12 21:56:22 -08:00
team_tree_widget.dart refactor(ui): 将"个人"替换为"本人" 2026-01-20 04:28:10 -08:00
trade_password_dialog.dart feat(trade-password): 实现卖出交易的支付密码验证功能 2026-02-05 18:12:39 -08:00