Merge pull request #1090 from Tangweirui2021/main

This commit is contained in:
DismissedLight
2023-11-12 12:49:41 +08:00
committed by GitHub
8 changed files with 81 additions and 10 deletions

View File

@@ -518,6 +518,15 @@
<data name="ServerGachaLogServiceServerDatabaseError" xml:space="preserve">
<value>Found abnormal data, unable to upload to Snap Hutao Cloud. Please do not upload across accounts or you can attempt to delete cloud data and try again.</value>
</data>
<data name="ServerPassportLoginSucceed" xml:space="preserve">
<value>Login successfully</value>
</data>
<data name="ServerPassportRegisterSucceed" xml:space="preserve">
<value>Register successfully</value>
</data>
<data name="ServerPassportResetPasswordSucceed" xml:space="preserve">
<value>Password has been set successfully</value>
</data>
<data name="ServerPassportServiceEmailHasNotRegistered" xml:space="preserve">
<value>Current email adress is not registered</value>
</data>
@@ -530,6 +539,9 @@
<data name="ServerPassportServiceUnregisterFailed" xml:space="preserve">
<value>User does not exist, failed to delete account</value>
</data>
<data name="ServerPassportUnregisterSucceed" xml:space="preserve">
<value>Unregister successfully</value>
</data>
<data name="ServerPassportUserInfoNotExist" xml:space="preserve">
<value>User does not exist, failed to fetch user's data</value>
</data>

View File

@@ -518,6 +518,15 @@
<data name="ServerGachaLogServiceServerDatabaseError" xml:space="preserve">
<value>データが異常なため、胡桃クラウドにアップロードできません。 複数のアカウントに跨がってアップロードしないでください。アップロードしたい場合は、クラウド データを削除してもう一度試してください。</value>
</data>
<data name="ServerPassportLoginSucceed" xml:space="preserve">
<value>登录成功</value>
</data>
<data name="ServerPassportRegisterSucceed" xml:space="preserve">
<value>注册成功</value>
</data>
<data name="ServerPassportResetPasswordSucceed" xml:space="preserve">
<value>新密码设置成功</value>
</data>
<data name="ServerPassportServiceEmailHasNotRegistered" xml:space="preserve">
<value>このメールアドレスは登録されていません。</value>
</data>
@@ -530,6 +539,9 @@
<data name="ServerPassportServiceUnregisterFailed" xml:space="preserve">
<value>ユーザーが存在しないため、アカウントを削除できません。</value>
</data>
<data name="ServerPassportUnregisterSucceed" xml:space="preserve">
<value>用户注销成功</value>
</data>
<data name="ServerPassportUserInfoNotExist" xml:space="preserve">
<value>ユーザーが存在しないため、ユーザーデータを取得出来ません。</value>
</data>

View File

@@ -518,6 +518,15 @@
<data name="ServerGachaLogServiceServerDatabaseError" xml:space="preserve">
<value>数据异常,无法保存至云端,请勿跨账号上传或尝试删除云端数据后重试</value>
</data>
<data name="ServerPassportLoginSucceed" xml:space="preserve">
<value>登录成功</value>
</data>
<data name="ServerPassportRegisterSucceed" xml:space="preserve">
<value>注册成功</value>
</data>
<data name="ServerPassportResetPasswordSucceed" xml:space="preserve">
<value>新密码设置成功</value>
</data>
<data name="ServerPassportServiceEmailHasNotRegistered" xml:space="preserve">
<value>当前邮箱尚未注册</value>
</data>
@@ -530,6 +539,9 @@
<data name="ServerPassportServiceUnregisterFailed" xml:space="preserve">
<value>用户不存在,注销失败</value>
</data>
<data name="ServerPassportUnregisterSucceed" xml:space="preserve">
<value>用户注销成功</value>
</data>
<data name="ServerPassportUserInfoNotExist" xml:space="preserve">
<value>用户不存在,获取用户信息失败</value>
</data>

View File

@@ -518,6 +518,15 @@
<data name="ServerGachaLogServiceServerDatabaseError" xml:space="preserve">
<value>数据异常,无法保存至云端,请勿跨账号上传或尝试删除云端数据后重试</value>
</data>
<data name="ServerPassportLoginSucceed" xml:space="preserve">
<value>登录成功</value>
</data>
<data name="ServerPassportRegisterSucceed" xml:space="preserve">
<value>注册成功</value>
</data>
<data name="ServerPassportResetPasswordSucceed" xml:space="preserve">
<value>新密码设置成功</value>
</data>
<data name="ServerPassportServiceEmailHasNotRegistered" xml:space="preserve">
<value>当前邮箱尚未注册</value>
</data>
@@ -530,6 +539,9 @@
<data name="ServerPassportServiceUnregisterFailed" xml:space="preserve">
<value>用户不存在,注销失败</value>
</data>
<data name="ServerPassportUnregisterSucceed" xml:space="preserve">
<value>用户注销成功</value>
</data>
<data name="ServerPassportUserInfoNotExist" xml:space="preserve">
<value>用户不存在,获取用户信息失败</value>
</data>

View File

@@ -518,6 +518,15 @@
<data name="ServerGachaLogServiceServerDatabaseError" xml:space="preserve">
<value>数据异常,无法保存至云端,请勿跨账号上传或尝试删除云端数据后重试</value>
</data>
<data name="ServerPassportLoginSucceed" xml:space="preserve">
<value>登录成功</value>
</data>
<data name="ServerPassportRegisterSucceed" xml:space="preserve">
<value>注册成功</value>
</data>
<data name="ServerPassportResetPasswordSucceed" xml:space="preserve">
<value>新密码设置成功</value>
</data>
<data name="ServerPassportServiceEmailHasNotRegistered" xml:space="preserve">
<value>当前邮箱尚未注册</value>
</data>
@@ -530,6 +539,9 @@
<data name="ServerPassportServiceUnregisterFailed" xml:space="preserve">
<value>用户不存在,注销失败</value>
</data>
<data name="ServerPassportUnregisterSucceed" xml:space="preserve">
<value>用户注销成功</value>
</data>
<data name="ServerPassportUserInfoNotExist" xml:space="preserve">
<value>用户不存在,获取用户信息失败</value>
</data>

View File

@@ -6,6 +6,7 @@ using Snap.Hutao.Factory.ContentDialog;
using Snap.Hutao.Service.Hutao;
using Snap.Hutao.Service.Notification;
using Snap.Hutao.View.Dialog;
using Snap.Hutao.Web;
using Snap.Hutao.Web.Hutao;
using Snap.Hutao.Web.Response;
using Windows.System;
@@ -28,7 +29,7 @@ internal sealed partial class HutaoPassportViewModel : Abstraction.ViewModel
[Command("OpenRedeemWebsiteCommand")]
private static async Task OpenRedeemWebsiteAsync()
{
await Launcher.LaunchUriAsync("https://homa.snapgenshin.com/redeem.html".ToUri());
await Launcher.LaunchUriAsync(HutaoEndpoints.Website("redeem.html").ToUri());
}
[Command("RegisterCommand")]
@@ -46,11 +47,11 @@ internal sealed partial class HutaoPassportViewModel : Abstraction.ViewModel
return;
}
Response<string> response = await homaPassportClient.RegisterAsync(username, password, verifyCode).ConfigureAwait(false);
HutaoResponse<string> response = await homaPassportClient.RegisterAsync(username, password, verifyCode).ConfigureAwait(false);
if (response.IsOk())
{
infoBarService.Information(response.Message);
infoBarService.Information(response.GetLocalizationMessageOrMessage());
await hutaoUserOptions.PostLoginSucceedAsync(homaPassportClient, taskContext, username, password, response.Data).ConfigureAwait(false);
}
}
@@ -75,7 +76,7 @@ internal sealed partial class HutaoPassportViewModel : Abstraction.ViewModel
if (response.IsOk())
{
infoBarService.Information(response.Message);
infoBarService.Information(response.GetLocalizationMessageOrMessage());
await taskContext.SwitchToMainThreadAsync();
hutaoUserOptions.LogoutOrUnregister();
@@ -98,11 +99,11 @@ internal sealed partial class HutaoPassportViewModel : Abstraction.ViewModel
return;
}
Response<string> response = await homaPassportClient.LoginAsync(username, password).ConfigureAwait(false);
HutaoResponse<string> response = await homaPassportClient.LoginAsync(username, password).ConfigureAwait(false);
if (response.IsOk())
{
infoBarService.Information(response.Message);
infoBarService.Information(response.GetLocalizationMessageOrMessage());
await hutaoUserOptions.PostLoginSucceedAsync(homaPassportClient, taskContext, username, password, response.Data).ConfigureAwait(false);
}
}
@@ -112,8 +113,6 @@ internal sealed partial class HutaoPassportViewModel : Abstraction.ViewModel
private void LogoutAsync()
{
hutaoUserOptions.LogoutOrUnregister();
LocalSetting.Set(SettingKeys.PassportUserName, string.Empty);
LocalSetting.Set(SettingKeys.PassportPassword, string.Empty);
}
[Command("ResetPasswordCommand")]
@@ -131,11 +130,11 @@ internal sealed partial class HutaoPassportViewModel : Abstraction.ViewModel
return;
}
Response<string> response = await homaPassportClient.ResetPasswordAsync(username, password, verifyCode).ConfigureAwait(false);
HutaoResponse<string> response = await homaPassportClient.ResetPasswordAsync(username, password, verifyCode).ConfigureAwait(false);
if (response.IsOk())
{
infoBarService.Information(response.Message);
infoBarService.Information(response.GetLocalizationMessageOrMessage());
await hutaoUserOptions.PostLoginSucceedAsync(homaPassportClient, taskContext, username, password, response.Data).ConfigureAwait(false);
}
}

View File

@@ -18,6 +18,12 @@ internal static class LocalizableResponseExtension
return SH.ResourceManager.GetString(key, CultureInfo.CurrentCulture);
}
public static string GetLocalizationMessageOrMessage<TResponse>(this TResponse localizableResponse)
where TResponse : Response.Response, ILocalizableResponse
{
return localizableResponse.GetLocalizationMessageOrDefault() ?? localizableResponse.Message;
}
public static string GetLocalizationMessage(this ILocalizableResponse localizableResponse)
{
string? key = localizableResponse.LocalizationKey;

View File

@@ -2,6 +2,7 @@
// Licensed under the MIT license.
using Snap.Hutao.Web.Hutao.GachaLog;
using System.Data.SqlTypes;
namespace Snap.Hutao.Web;
@@ -269,6 +270,11 @@ internal static class HutaoEndpoints
}
#endregion
public static string Website(string path)
{
return $"{HomaSnapGenshinApi}/{path}";
}
private const string HomaSnapGenshinApi = "https://homa.snapgenshin.com";
private const string HutaoMetadataSnapGenshinApi = "https://hutao-metadata.snapgenshin.com";
private const string HutaoMetadata2SnapGenshinApi = "https://hutao-metadata2.snapgenshin.com";