diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs index 180987c3..71daae3a 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.Designer.cs @@ -1851,6 +1851,15 @@ namespace Snap.Hutao.Resource.Localization { } } + /// + /// 查找类似 验证失败,请前往米游社原神签到页面自行领取奖励 的本地化字符串。 + /// + internal static string ServiceSignInRiskVerificationFailed { + get { + return ResourceManager.GetString("ServiceSignInRiskVerificationFailed", resourceCulture); + } + } + /// /// 查找类似 签到成功,{0}×{1} 的本地化字符串。 /// diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx index d2f3ac95..968066b5 100644 --- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx +++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx @@ -770,6 +770,9 @@ 获取奖励列表失败 + + 验证失败,请前往米游社原神签到页面自行领取奖励 + 签到成功,{0}×{1} diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/Event/BbsSignReward/SignInClient.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/Event/BbsSignReward/SignInClient.cs index cb83751e..960912ee 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/Event/BbsSignReward/SignInClient.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/Event/BbsSignReward/SignInClient.cs @@ -90,6 +90,11 @@ internal sealed partial class SignInClient .TryCatchPostAsJsonAsync>(ApiEndpoints.SignInRewardSign, new SignInData(userAndUid.Uid), options, logger, token) .ConfigureAwait(false); } + else + { + resp.ReturnCode = resp.Data.RiskCode; + resp.Message = SH.ServiceSignInRiskVerificationFailed; + } } return Response.Response.DefaultIfNull(resp); diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hutao/Geetest/HomaGeetestClient.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hutao/Geetest/HomaGeetestClient.cs index b02fb2cf..2108f3c0 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Hutao/Geetest/HomaGeetestClient.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Hutao/Geetest/HomaGeetestClient.cs @@ -24,7 +24,7 @@ internal sealed partial class HomaGeetestClient if (string.IsNullOrEmpty(template)) { - return new() { Code = -1 }; + return new() { Code = Response.Response.InternalFailure }; } GeetestResponse? resp = await httpClient diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Response/Response.cs b/src/Snap.Hutao/Snap.Hutao/Web/Response/Response.cs index e5dbc1db..2d190762 100644 --- a/src/Snap.Hutao/Snap.Hutao/Web/Response/Response.cs +++ b/src/Snap.Hutao/Snap.Hutao/Web/Response/Response.cs @@ -13,6 +13,8 @@ namespace Snap.Hutao.Web.Response; [HighQuality] internal class Response { + public const int InternalFailure = 0x26F19335; + /// /// 构造一个新的响应 /// @@ -54,7 +56,7 @@ internal class Response public static Response DefaultIfNull(Response? response, [CallerMemberName] string callerName = default!) { // 0x26F19335 is a magic number that hashed from "Snap.Hutao" - response ??= new(0x26F19335, SH.WebResponseRequestExceptionFormat.Format(callerName, null)); + response ??= new(InternalFailure, SH.WebResponseRequestExceptionFormat.Format(callerName, null)); if (((KnownReturnCode)response.ReturnCode) is KnownReturnCode.PleaseLogin or KnownReturnCode.RET_TOKEN_INVALID) { @@ -74,14 +76,14 @@ internal class Response public static Response DefaultIfNull(Response? response, [CallerMemberName] string callerName = default!) { // 0x26F19335 is a magic number that hashed from "Snap.Hutao" - response ??= new(0x26F19335, SH.WebResponseRequestExceptionFormat.Format(callerName, typeof(TData).Name), default); + response ??= new(InternalFailure, SH.WebResponseRequestExceptionFormat.Format(callerName, typeof(TData).Name), default); if (((KnownReturnCode)response.ReturnCode) is KnownReturnCode.PleaseLogin or KnownReturnCode.RET_TOKEN_INVALID) { response.Message = SH.WebResponseRefreshCookieHintFormat.Format(response.Message); } - return response ?? new(0x26F19335, SH.WebResponseRequestExceptionFormat.Format(callerName, typeof(TData).Name), default); + return response ?? new(InternalFailure, SH.WebResponseRequestExceptionFormat.Format(callerName, typeof(TData).Name), default); } /// @@ -102,7 +104,7 @@ internal class Response else { // Magic number that hashed from "Snap.Hutao" - return new(0x26F19335, SH.WebResponseRequestExceptionFormat.Format(callerName, typeof(TData).Name), default); + return new(InternalFailure, SH.WebResponseRequestExceptionFormat.Format(callerName, typeof(TData).Name), default); } }