mirror of
https://jihulab.com/DGP-Studio/Snap.Hutao.git
synced 2025-11-19 21:02:53 +08:00
fix mihoyo login no login_ticket crash
This commit is contained in:
@@ -57,7 +57,12 @@ internal sealed partial class LoginMihoyoUserPage : Microsoft.UI.Xaml.Controls.P
|
||||
CoreWebView2CookieManager manager = WebView.CoreWebView2.CookieManager;
|
||||
IReadOnlyList<CoreWebView2Cookie> cookies = await manager.GetCookiesAsync("https://user.mihoyo.com");
|
||||
|
||||
Cookie loginTicketCookie = Cookie.FromCoreWebView2Cookies(cookies);
|
||||
Cookie webCookie = Cookie.FromCoreWebView2Cookies(cookies);
|
||||
if (!webCookie.TryGetCookieToken(out Cookie? loginTicketCookie))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Response<ListWrapper<NameToken>> multiTokenResponse = await Ioc.Default
|
||||
.GetRequiredService<AuthClient>()
|
||||
.GetMultiTokenByLoginTicketAsync(loginTicketCookie, false)
|
||||
|
||||
@@ -108,6 +108,23 @@ internal sealed partial class Cookie
|
||||
return new(cookieMap);
|
||||
}
|
||||
|
||||
public bool TryGetLoginTicket([NotNullWhen(true)] out Cookie? cookie)
|
||||
{
|
||||
if (TryGetValue(LOGIN_TICKET, out string? loginTicket) && TryGetValue(LOGIN_UID, out string? loginUid))
|
||||
{
|
||||
cookie = new Cookie(new()
|
||||
{
|
||||
[LOGIN_TICKET] = loginTicket,
|
||||
[LOGIN_UID] = loginUid,
|
||||
});
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
cookie = null;
|
||||
return false;
|
||||
}
|
||||
|
||||
public bool TryGetSToken(bool isOversea, [NotNullWhen(true)] out Cookie? cookie)
|
||||
{
|
||||
return isOversea ? TryGetLegacySToken(out cookie) : TryGetSToken(out cookie);
|
||||
|
||||
Reference in New Issue
Block a user