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);
}
}