fix(frontend): 修复添加新账号时旧状态未清除的问题

问题: logoutCurrentAccount() 方法只清除了 5 个状态,导致添加新账号时
旧账号的钱包地址、助记词备份状态等仍然存在,影响新账号创建/导入流程。

修复: 现在清除全部 16 个账号相关状态:
- Token: accessToken, refreshToken
- 账号信息: userSerialNum, username, avatarSvg, avatarUrl,
  referralCode, inviterSequence, isAccountCreated
- 钱包信息: walletAddressBsc, walletAddressKava, walletAddressDst,
  mnemonic, isWalletReady, isMnemonicBackedUp

🤖 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-15 06:07:23 -08:00
parent 579e8c241e
commit 2a4efe0828
1 changed files with 27 additions and 9 deletions

View File

@ -233,19 +233,37 @@ class MultiAccountService {
//
await saveCurrentAccountData();
// Token
await _secureStorage.delete(key: StorageKeys.accessToken);
await _secureStorage.delete(key: StorageKeys.refreshToken);
//
await setCurrentAccountId(null);
//
await _secureStorage.delete(key: StorageKeys.userSerialNum);
await _secureStorage.delete(key: StorageKeys.username);
await _secureStorage.delete(key: StorageKeys.isAccountCreated);
//
// /
final keysToClear = [
// Token
StorageKeys.accessToken,
StorageKeys.refreshToken,
//
StorageKeys.userSerialNum,
StorageKeys.username,
StorageKeys.avatarSvg,
StorageKeys.avatarUrl,
StorageKeys.referralCode,
StorageKeys.inviterSequence,
StorageKeys.isAccountCreated,
//
StorageKeys.walletAddressBsc,
StorageKeys.walletAddressKava,
StorageKeys.walletAddressDst,
StorageKeys.mnemonic,
StorageKeys.isWalletReady,
StorageKeys.isMnemonicBackedUp,
];
debugPrint('$_tag logoutCurrentAccount() - 退出完成');
for (final key in keysToClear) {
await _secureStorage.delete(key: key);
}
debugPrint('$_tag logoutCurrentAccount() - 退出完成,已清除 ${keysToClear.length} 个状态');
}
///