fix(mobile-app): 自动修复 isAccountCreated 状态

问题:已注册用户重新安装 App 后,isAccountCreated 可能为 false,
导致"我的"页面显示"创建账号审核中..."

修复:
1. checkAuthStatus() 中检测到有 token 和 userSerialNum 但
   isAccountCreated 为 false 时,自动修复为 true
2. 添加 loadAuthState() 方法(checkAuthStatus 的别名)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2025-12-22 02:03:34 -08:00
parent 836bfe7f36
commit 8fa975a19e
1 changed files with 20 additions and 4 deletions

View File

@ -82,8 +82,18 @@ class AuthNotifier extends StateNotifier<AuthState> {
final isFirstLaunch = isFirstLaunchStr == null || isFirstLaunchStr != 'false';
//
final isAccountCreatedStr = await _secureStorage.read(key: StorageKeys.isAccountCreated);
final isAccountCreated = isAccountCreatedStr == 'true';
var isAccountCreatedStr = await _secureStorage.read(key: StorageKeys.isAccountCreated);
var isAccountCreated = isAccountCreatedStr == 'true';
// token userSerialNum isAccountCreated false
final accessToken = await _secureStorage.read(key: StorageKeys.accessToken);
final userSerialNum = await _secureStorage.read(key: StorageKeys.userSerialNum);
if (!isAccountCreated && accessToken != null && accessToken.isNotEmpty &&
userSerialNum != null && userSerialNum.isNotEmpty) {
// isAccountCreated = true
await _secureStorage.write(key: StorageKeys.isAccountCreated, value: 'true');
isAccountCreated = true;
}
//
final isWalletReadyStr = await _secureStorage.read(key: StorageKeys.isWalletReady);
@ -93,8 +103,8 @@ class AuthNotifier extends StateNotifier<AuthState> {
final isMnemonicBackedUpStr = await _secureStorage.read(key: StorageKeys.isMnemonicBackedUp);
final isMnemonicBackedUp = isMnemonicBackedUpStr == 'true';
//
final userSerialNum = await _secureStorage.read(key: StorageKeys.userSerialNum);
//
// userSerialNum
final referralCode = await _secureStorage.read(key: StorageKeys.referralCode);
// walletAddress
@ -182,6 +192,12 @@ class AuthNotifier extends StateNotifier<AuthState> {
await _secureStorage.deleteAll();
state = const AuthState(status: AuthStatus.unauthenticated);
}
/// checkAuthStatus
/// /
Future<void> loadAuthState() async {
await checkAuthStatus();
}
}
final authProvider = StateNotifierProvider<AuthNotifier, AuthState>((ref) {