rwadurian/frontend/mobile-app
hailin 12004d1c2e fix(mobile-app): 修复账号切换后自动退出登录的问题
根因:ref.invalidate(authProvider) 销毁旧 AuthNotifier 后,新实例的构造函数
仅设置 AuthState(status: AuthStatus.initial),从不自动调用 checkAuthStatus()
从 SecureStorage 重新加载认证数据。导致 auth 状态停留在 initial(未认证),
依赖 auth 状态的组件误判为"未登录",触发页面跳转到登录页。

修复:
- account_switch_page: invalidate 后立即调用 loadAuthState() 从 storage
  读取新账号数据,确保 auth 状态为 authenticated 后再导航
- account_switch_page: 切换后重置 ApiClient 的 tokenExpired 标记,防止
  旧会话的 401 状态阻塞新账号的请求
- app.dart: _handleTokenExpired() 增加醒目日志和调用栈打印,便于排查
  切换期间是否有 token 过期事件被误触发

切换流程更新为 6 步:
[1/6] switchToAccount() - 保存旧账号、清空、恢复新账号 storage
[2/6] onBeforeRestore - 停止所有定时器
[3/6] invalidate Provider - 销毁旧 Provider 实例
[4/6] loadAuthState() - 从 storage 加载新账号 auth 状态 ← 新增关键步骤
[5/6] 恢复遥测上传
[6/6] 导航到 ranking 页面

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 11:39:31 -08:00
..
.claude fix(mobile-app): update share link domain to rwaapi.szaiai.com 2025-12-06 21:15:55 -08:00
android refactor: 更换包名和签名证书以绕过华为风险软件检测 2025-12-17 00:24:22 -08:00
assets feat(app-assets): 应用图片管理 — 开屏图/引导图可从 admin-web 配置 2026-02-04 11:20:26 -08:00
docs refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
ios refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
lib fix(mobile-app): 修复账号切换后自动退出登录的问题 2026-02-26 11:39:31 -08:00
linux fix(sentry): 修复 Flutter 代码分析错误 2025-12-15 11:04:28 -08:00
macos feat(mobile-app): 添加合同签署 API 详细调试日志 2025-12-25 03:14:10 -08:00
scripts refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
test refactor(mobile-app): 重构账号创建流程,分离钱包获取逻辑 2025-12-06 19:34:45 -08:00
web refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
windows feat(mobile-app): 添加合同签署 API 详细调试日志 2025-12-25 03:14:10 -08:00
.gitignore feat(mobile-app): auto-increment version code on each build 2025-12-09 00:59:20 -08:00
.metadata refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
CLAUDE.md refactor: 多项UI优化和品牌更名 2025-12-15 01:43:47 -08:00
README.MD refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
analysis_options.yaml refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
flutter_android_update_guide.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
flutter_telemetry_solution.md refactor(mpc-system): migrate to party-driven architecture with PartyID-based routing 2025-12-05 08:11:28 -08:00
pubspec.lock feat(contract-signing): 使用 pdf-lib 实现专业 PDF 合同展示 2025-12-25 02:27:54 -08:00
pubspec.yaml chore: 同步线上构建版本号,避免服务器编译时版本号回退 2026-02-26 00:29:29 -08:00
quickly.lottie fix(reward-service): 添加 BatchMonthlyEarningsRequest DTO 的 class-validator 装饰器 2025-12-23 05:22:34 -08:00
stickman.lottie fix(reward-service): 添加 BatchMonthlyEarningsRequest DTO 的 class-validator 装饰器 2025-12-23 05:22:34 -08:00

README.MD

Create Flutter Framework

C:\Users\ph\Desktop\app>flutter create --org com.rwadurian rwa_android_app
Creating project rwa_android_app...
Resolving dependencies in `rwa_android_app`... (3.7s)
Downloading packages...
Got dependencies in `rwa_android_app`.
Wrote 130 files.

All done!
You can find general documentation for Flutter at: https://docs.flutter.dev/
Detailed API documentation is available at: https://api.flutter.dev/
If you prefer video documentation, consider: https://www.youtube.com/c/flutterdev

In order to run your application, type:

  $ cd rwa_android_app
  $ flutter run

Your application code is in rwa_android_app\lib\main.dart.

rwa_android_app

A new Flutter project.

Getting Started

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter development, view the online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.