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

View File

@@ -49,10 +49,21 @@ internal class Response : ICommonResponse<Response>
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;
}
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);
}
@@ -63,16 +74,14 @@ internal class Response : ICommonResponse<Response>
{
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()
@@ -102,20 +111,12 @@ internal class Response<TData> : Response, ICommonResponse<Response<TData>>, IJs
[MemberNotNullWhen(true, nameof(Data))]
public override bool IsOk(bool showInfoBar = true, IServiceProvider? serviceProvider = null)
{
if (ReturnCode == 0)
bool result = base.IsOk(showInfoBar, serviceProvider);
if (result)
{
ArgumentNullException.ThrowIfNull(Data);
return true;
}
else
{
if (showInfoBar)
{
serviceProvider ??= Ioc.Default;
serviceProvider.GetRequiredService<IInfoBarService>().Error(ToString());
}
return false;
}
return result;
}
}