This commit is contained in:
Lightczx
2024-05-22 12:44:00 +08:00
parent c6f747a89b
commit 370f2fe1f7
2 changed files with 24 additions and 20 deletions

View File

@@ -3251,6 +3251,9 @@
<data name="WebResponseRequestExceptionFormat" xml:space="preserve"> <data name="WebResponseRequestExceptionFormat" xml:space="preserve">
<value>[{0}] 中的 [{1}] 网络请求异常,请稍后再试</value> <value>[{0}] 中的 [{1}] 网络请求异常,请稍后再试</value>
</data> </data>
<data name="WebResponseSignInErrorHint" xml:space="preserve">
<value>登录失败,请前往 HoYoLAB 初始化账号,原始消息:{0}</value>
</data>
<data name="WindowIdentifyMonitorHeader" xml:space="preserve"> <data name="WindowIdentifyMonitorHeader" xml:space="preserve">
<value>显示器编号</value> <value>显示器编号</value>
</data> </data>

View File

@@ -49,10 +49,21 @@ internal class Response : ICommonResponse<Response>
response.Message = SH.FormatWebResponseRefreshCookieHintFormat(response.Message); response.Message = SH.FormatWebResponseRefreshCookieHintFormat(response.Message);
} }
switch ((KnownReturnCode)response.ReturnCode)
{
case KnownReturnCode.PleaseLogin:
case KnownReturnCode.RET_TOKEN_INVALID:
response.Message = SH.FormatWebResponseRefreshCookieHintFormat(response.Message);
break;
case KnownReturnCode.SignInError:
response.Message = SH.FormatWebResponseSignInErrorHint(response.Message);
break;
}
return response; return response;
} }
public static Response<TData> CloneReturnCodeAndMessage<TData, TOther>(Response<TOther> response, [CallerMemberName] string callerName = default!) public static Response<TData> CloneReturnCodeAndMessage<TData, TOther>(Response<TOther> response)
{ {
return new(response.ReturnCode, response.Message, default); return new(response.ReturnCode, response.Message, default);
} }
@@ -63,16 +74,14 @@ internal class Response : ICommonResponse<Response>
{ {
return true; return true;
} }
else
{
if (showInfoBar)
{
serviceProvider ??= Ioc.Default;
serviceProvider.GetRequiredService<IInfoBarService>().Error(ToString());
}
return false; if (showInfoBar)
{
serviceProvider ??= Ioc.Default;
serviceProvider.GetRequiredService<IInfoBarService>().Error(ToString());
} }
return false;
} }
public override string ToString() public override string ToString()
@@ -102,20 +111,12 @@ internal class Response<TData> : Response, ICommonResponse<Response<TData>>, IJs
[MemberNotNullWhen(true, nameof(Data))] [MemberNotNullWhen(true, nameof(Data))]
public override bool IsOk(bool showInfoBar = true, IServiceProvider? serviceProvider = null) public override bool IsOk(bool showInfoBar = true, IServiceProvider? serviceProvider = null)
{ {
if (ReturnCode == 0) bool result = base.IsOk(showInfoBar, serviceProvider);
if (result)
{ {
ArgumentNullException.ThrowIfNull(Data); ArgumentNullException.ThrowIfNull(Data);
return true;
} }
else
{
if (showInfoBar)
{
serviceProvider ??= Ioc.Default;
serviceProvider.GetRequiredService<IInfoBarService>().Error(ToString());
}
return false; return result;
}
} }
} }