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:
parent
579e8c241e
commit
2a4efe0828
|
|
@ -233,19 +233,37 @@ class MultiAccountService {
|
||||||
// 保存当前账号数据
|
// 保存当前账号数据
|
||||||
await saveCurrentAccountData();
|
await saveCurrentAccountData();
|
||||||
|
|
||||||
// 清除当前会话的 Token(但保留在账号存储中)
|
|
||||||
await _secureStorage.delete(key: StorageKeys.accessToken);
|
|
||||||
await _secureStorage.delete(key: StorageKeys.refreshToken);
|
|
||||||
|
|
||||||
// 清除当前账号标记
|
// 清除当前账号标记
|
||||||
await setCurrentAccountId(null);
|
await setCurrentAccountId(null);
|
||||||
|
|
||||||
// 清除当前账号信息(但不删除账号列表)
|
// 清除所有当前账号相关的状态(但不删除账号列表)
|
||||||
await _secureStorage.delete(key: StorageKeys.userSerialNum);
|
// 这样新账号创建/导入时不会受到旧状态影响
|
||||||
await _secureStorage.delete(key: StorageKeys.username);
|
final keysToClear = [
|
||||||
await _secureStorage.delete(key: StorageKeys.isAccountCreated);
|
// 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} 个状态');
|
||||||
}
|
}
|
||||||
|
|
||||||
/// 完全删除账号(包括所有数据)
|
/// 完全删除账号(包括所有数据)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue