diff --git a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Helper/PasswordVaultHelper.cs b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Helper/PasswordVaultHelper.cs index 4de6068..3b9ca16 100644 --- a/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Helper/PasswordVaultHelper.cs +++ b/BetterLyrics.WinUI3/BetterLyrics.WinUI3/Helper/PasswordVaultHelper.cs @@ -20,10 +20,17 @@ namespace BetterLyrics.WinUI3.Helper var vault = new PasswordVault(); // 删除旧值(避免重复存储) - var oldCredential = vault.FindAllByResource(resource).Where(x => x.UserName == key).FirstOrDefault(); - if (oldCredential != null) + try { - vault.Remove(oldCredential); + var oldCredential = vault.Retrieve(resource, key); + if (oldCredential != null) + { + vault.Remove(oldCredential); + } + } + catch + { + // 没有旧值就忽略 } vault.Add(new PasswordCredential(resource, key, value)); @@ -38,13 +45,13 @@ namespace BetterLyrics.WinUI3.Helper public static string? Get(string resource, string key) { var vault = new PasswordVault(); - var credential = vault.FindAllByResource(resource).Where(x => x.UserName == key).FirstOrDefault(); - if (credential != null) + try { + var credential = vault.Retrieve(resource, key); credential.RetrievePassword(); return credential.Password; } - else + catch { return null; } @@ -56,11 +63,15 @@ namespace BetterLyrics.WinUI3.Helper public static void Delete(string resource, string key) { var vault = new PasswordVault(); - var credential = vault.FindAllByResource(resource).Where(x => x.UserName == key).FirstOrDefault(); - if (credential != null) + try { + var credential = vault.Retrieve(resource, key); vault.Remove(credential); } + catch + { + // 不存在就忽略 + } } } -} +} \ No newline at end of file