diff --git a/.claude/settings.local.json b/.claude/settings.local.json index 3ddc4cea..91c3a7da 100644 --- a/.claude/settings.local.json +++ b/.claude/settings.local.json @@ -589,7 +589,9 @@ "Bash(xargs:*)", "Bash(git commit -m \"$\\(cat <<''EOF''\nfeat\\(wallet/blockchain\\): 热钱包余额预检查及接收方钱包自动创建\n\n1. blockchain-service: 新增热钱包 dUSDT 余额定时更新调度器\n - 每 5 秒查询热钱包在 KAVA 链上的 dUSDT 余额\n - 更新到 Redis DB 0,key 格式: hot_wallet:dusdt_balance:{chainType}\n - TTL 30 秒,服务故障时缓存自动过期\n\n2. wallet-service: 新增热钱包余额缓存服务\n - 从 Redis DB 0 读取热钱包余额缓存\n - 严格模式:无法获取余额或余额不足时拒绝转账\n - 提示信息:\"财务系统审计中,请稍后再试\"\n\n3. wallet-service: 转账确认时自动创建接收方钱包\n - 解决接收方钱包不存在导致入账失败的问题\n - 使用 upsert 避免并发创建冲突\n - 在同一事务中完成创建和入账\n\n🤖 Generated with [Claude Code]\\(https://claude.com/claude-code\\)\n\nCo-Authored-By: Claude Opus 4.5 \nEOF\n\\)\")", "Bash(git commit -m \"$\\(cat <<''EOF''\nfeat\\(wallet-service\\): 添加内部转账入账修复脚本\n\n新增一次性修复脚本用于补录因接收方钱包未创建导致入账失败的内部转账。\n\n脚本特性:\n- DRY_RUN 模式:默认只检查不执行,需手动改为 false 才真正修复\n- 完整验证:订单状态、类型、接收方信息、txHash\n- 幂等性检查:确认接收方没有 TRANSFER_IN 流水\n- 转出方验证:确认转出方有 TRANSFER_OUT 流水(已扣款)\n- 乐观锁:使用 version 字段防止并发修改\n- 审计追踪:payloadJson.dataFix=true 标记修复操作\n- 详细日志:每步操作都有时间戳和日志级别\n\n使用方法:\n1. 在 wallet-service 容器内执行 DRY_RUN 检查\n2. 确认无误后将 DRY_RUN 改为 false 再次执行\n\n🤖 Generated with [Claude Code]\\(https://claude.com/claude-code\\)\n\nCo-Authored-By: Claude Opus 4.5 \nEOF\n\\)\")", - "Bash(git commit -m \"$\\(cat <<''EOF''\nfeat\\(mobile-app\\): 添加待办操作轮询机制\n\n解决老版本 App 升级后不重启导致无法激活待办事项的问题。\n\n- 新增 PendingActionPollingService 定时轮询服务(每4秒检查)\n- App启动时无待办则启动轮询,有待办则直接进入待办页面\n- 轮询检测到待办后自动停止并跳转,防止重入问题\n\n🤖 Generated with [Claude Code]\\(https://claude.com/claude-code\\)\n\nCo-Authored-By: Claude Opus 4.5 \nEOF\n\\)\")" + "Bash(git commit -m \"$\\(cat <<''EOF''\nfeat\\(mobile-app\\): 添加待办操作轮询机制\n\n解决老版本 App 升级后不重启导致无法激活待办事项的问题。\n\n- 新增 PendingActionPollingService 定时轮询服务(每4秒检查)\n- App启动时无待办则启动轮询,有待办则直接进入待办页面\n- 轮询检测到待办后自动停止并跳转,防止重入问题\n\n🤖 Generated with [Claude Code]\\(https://claude.com/claude-code\\)\n\nCo-Authored-By: Claude Opus 4.5 \nEOF\n\\)\")", + "Bash(git commit -m \"$\\(cat <<''EOF''\nfeat\\(mobile-app\\): 用户资料页添加\"同伴认种\"标题和快捷标签\n\n- 在统计卡片上方添加\"同伴认种\"标题(紫色)\n- 在统计卡片下方添加\"引荐\"、\"同伴\"、\"本人\"快捷标签\n\n🤖 Generated with [Claude Code]\\(https://claude.com/claude-code\\)\n\nCo-Authored-By: Claude Opus 4.5 \nEOF\n\\)\")", + "Bash(git commit -m \"$\\(cat <<''EOF''\nfix\\(mobile-app\\): 用户资料页术语修改\n\n- 直推 → 引荐\n- 伞下 → 同伴\n- 个人认种 → 本人认种\n- 团队认种 → 同伴认种\n- 推荐人 → 引荐人\n\n🤖 Generated with [Claude Code]\\(https://claude.com/claude-code\\)\n\nCo-Authored-By: Claude Opus 4.5 \nEOF\n\\)\")" ], "deny": [], "ask": [] diff --git a/frontend/mobile-app/lib/features/authorization/presentation/widgets/user_profile_dialog.dart b/frontend/mobile-app/lib/features/authorization/presentation/widgets/user_profile_dialog.dart index 054f4b9b..52f8613f 100644 --- a/frontend/mobile-app/lib/features/authorization/presentation/widgets/user_profile_dialog.dart +++ b/frontend/mobile-app/lib/features/authorization/presentation/widgets/user_profile_dialog.dart @@ -243,7 +243,7 @@ class _UserProfilePageState extends ConsumerState { _buildInfoRow('用户ID', profile.accountSequence), _buildInfoRow('注册时间', _formatDate(profile.registeredAtDateTime)), if (profile.inviterNickname != null) - _buildInfoRow('推荐人', profile.inviterNickname!), + _buildInfoRow('引荐人', profile.inviterNickname!), if (profile.province != null || profile.city != null) _buildInfoRow('所在地区', [profile.province, profile.city].whereType().join(' ')), ], @@ -391,25 +391,25 @@ class _UserProfilePageState extends ConsumerState { child: Row( children: [ _buildStatItem( - label: '直推', + label: '引荐', value: '${profile.directReferralCount}', color: const Color(0xFF4CAF50), ), _buildStatDivider(), _buildStatItem( - label: '伞下', + label: '同伴', value: '${profile.umbrellaUserCount}', color: const Color(0xFF2196F3), ), _buildStatDivider(), _buildStatItem( - label: '个人认种', + label: '本人认种', value: '${profile.personalPlantingCount}', color: const Color(0xFF8BC34A), ), _buildStatDivider(), _buildStatItem( - label: '团队认种', + label: '同伴认种', value: '${profile.teamPlantingCount}', color: const Color(0xFFD4AF37), ),