From d4bd610fe272bc696b8d1a4380a70b2a18f47d97 Mon Sep 17 00:00:00 2001 From: qhy040404 Date: Wed, 31 Jan 2024 23:00:07 +0800 Subject: [PATCH] temporary fix qr login let's play zzz :( --- .../Snap.Hutao/Web/Hoyolab/Hk4e/Sdk/Combo/PandaClient.cs | 7 +++++-- .../Snap.Hutao/Web/Hoyolab/Passport/PassportClient2.cs | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Sdk/Combo/PandaClient.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Sdk/Combo/PandaClient.cs index 90ec1cfc..c9295ecc 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Sdk/Combo/PandaClient.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Hk4e/Sdk/Combo/PandaClient.cs @@ -19,10 +19,12 @@ internal sealed partial class PandaClient public async ValueTask> QRCodeFetchAsync(CancellationToken token = default) { - GameLoginRequest options = GameLoginRequest.Create(4, HoyolabOptions.DeviceId40); + // Use 12 (zzz) instead of 4 (gi) temporarily to get legacy game token + GameLoginRequest options = GameLoginRequest.Create(12, HoyolabOptions.DeviceId40); HttpRequestMessageBuilder builder = httpRequestMessageBuilderFactory.Create() .SetRequestUri(ApiEndpoints.QrCodeFetch) + .SetHeader("x-rpc-device_id", HoyolabOptions.DeviceId40) .PostJson(options); Response? resp = await builder @@ -34,10 +36,11 @@ internal sealed partial class PandaClient public async ValueTask> QRCodeQueryAsync(string ticket, CancellationToken token = default) { - GameLoginRequest options = GameLoginRequest.Create(4, HoyolabOptions.DeviceId40, ticket); + GameLoginRequest options = GameLoginRequest.Create(12, HoyolabOptions.DeviceId40, ticket); HttpRequestMessageBuilder builder = httpRequestMessageBuilderFactory.Create() .SetRequestUri(ApiEndpoints.QrCodeQuery) + .SetHeader("x-rpc-device_id", HoyolabOptions.DeviceId40) .PostJson(options); Response? resp = await builder diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/PassportClient2.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/PassportClient2.cs index e581f2a1..ebe956ec 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/PassportClient2.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Passport/PassportClient2.cs @@ -79,6 +79,7 @@ internal sealed partial class PassportClient2 HttpRequestMessageBuilder builder = httpRequestMessageBuilderFactory.Create() .SetRequestUri(ApiEndpoints.AccountGetSTokenByGameToken) + .SetHeader("x-rpc-device_id", HoyolabOptions.DeviceId40) .PostJson(data); Response? resp = await builder