feat: 添加信息获取失败时的提示

This commit is contained in:
uye
2025-09-10 22:57:14 +08:00
parent 8d5459d7d2
commit 71b2ce80a5
9 changed files with 44 additions and 4 deletions

View File

@@ -170,8 +170,17 @@ namespace MaaWpfGui.Models
return (CheckUpdateRetT.UnknownError, null, null);
}
var mirrorChyanCdkExpired = data["data"]?["cdk_expired_time"]?.ToObject<int?>() ?? null;
SettingsViewModel.VersionUpdateSettings.MirrorChyanCdkExpiredTime = mirrorChyanCdkExpired ?? 0;
var mirrorChyanCdkExpired = data["data"]?["cdk_expired_time"]?.ToObject<long?>();
if (mirrorChyanCdkExpired.HasValue)
{
SettingsViewModel.VersionUpdateSettings.MirrorChyanCdkExpiredTime = mirrorChyanCdkExpired.Value;
SettingsViewModel.VersionUpdateSettings.MirrorChyanCdkFetchFailed = false;
}
else
{
SettingsViewModel.VersionUpdateSettings.MirrorChyanCdkFetchFailed = true;
}
var errorCode = data["code"]?.ToObject<MirrorChyanErrorCode>() ?? MirrorChyanErrorCode.Undivided;
if (errorCode != MirrorChyanErrorCode.Success)

View File

@@ -322,6 +322,7 @@ You can cancel this popup by clicking the 「{key=Settings} - {key=IssueReport}
<system:String x:Key="MirrorChyanCdkQuotaExhausted">The CDK has reached the maximum download limit for today. Please try again tomorrow.</system:String>
<system:String x:Key="MirrorChyanCdkMismatched">The CDK type does not match the resource to be downloaded. Please check the CDK's applicable scope.</system:String>
<system:String x:Key="MirrorChyanCdkRemainingDays">CDK expires in {0} days.</system:String>
<system:String x:Key="MirrorChyanCdkFetchFailed">Failed to retrieve CDK information. Showing the result from the last successful query.</system:String>
<system:String x:Key="NewVersionFoundTitle">New Version Found</system:String>
<system:String x:Key="NewVersionFoundDescDownloadingWithGlobalSource">\nDownloading from 「{key=GlobalSource}」...</system:String>
<system:String x:Key="NewVersionFoundDescDownloadingWithMirrorChyan">\nDownloading from 「{key=MirrorChyan}」...</system:String>

View File

@@ -322,6 +322,7 @@
<system:String x:Key="MirrorChyanCdkQuotaExhausted">CDK の本日のダウンロード回数が上限に達しました。明日もう一度お試しください。</system:String>
<system:String x:Key="MirrorChyanCdkMismatched">CDK の種類がダウンロード対象のリソースと一致しません。CDK の適用範囲を確認してください。</system:String>
<system:String x:Key="MirrorChyanCdkRemainingDays">CDK の有効期限は残り {0} 日です。</system:String>
<system:String x:Key="MirrorChyanCdkFetchFailed">CDK 情報の取得に失敗しました。前回正常に取得した結果を表示しています。</system:String>
<system:String x:Key="NewVersionFoundTitle">新しいバージョンが見つかりました</system:String>
<system:String x:Key="NewVersionFoundDescDownloadingWithGlobalSource">「{key=GlobalSource}」からダウンロード中...</system:String>
<system:String x:Key="NewVersionFoundDescDownloadingWithMirrorChyan">「{key=MirrorChyan}」からダウンロード中...</system:String>

View File

@@ -321,6 +321,7 @@
<system:String x:Key="MirrorChyanCdkQuotaExhausted">해당 CDK의 일일 다운로드 횟수가 제한에 도달했습니다. 내일 다시 시도해 주세요.</system:String>
<system:String x:Key="MirrorChyanCdkMismatched">CDK 유형이 다운로드할 리소스와 일치하지 않습니다. CDK의 적용 범위를 확인해 주세요.</system:String>
<system:String x:Key="MirrorChyanCdkRemainingDays">CDK 만료까지 {0}일 남았습니다.</system:String>
<system:String x:Key="MirrorChyanCdkFetchFailed">CDK 정보를 가져오지 못했습니다. 마지막으로 성공적으로 조회한 결과를 표시합니다.</system:String>
<system:String x:Key="NewVersionFoundTitle">새로운 버전 확인</system:String>
<system:String x:Key="NewVersionFoundDescDownloadingWithGlobalSource">「{key=GlobalSource}」 에서 다운로드 중...</system:String>
<system:String x:Key="NewVersionFoundDescDownloadingWithMirrorChyan">「{key=MirrorChyan}」 에서 다운로드 중...</system:String>

View File

@@ -322,6 +322,7 @@
<system:String x:Key="MirrorChyanCdkQuotaExhausted">CDK 今日下载次数已达上限,请明日再试。</system:String>
<system:String x:Key="MirrorChyanCdkMismatched">CDK 类型与待下载的资源不匹配,请检查 CDK 适用范围。</system:String>
<system:String x:Key="MirrorChyanCdkRemainingDays">CDK 还剩 {0} 天到期。</system:String>
<system:String x:Key="MirrorChyanCdkFetchFailed">获取 CDK 信息失败,已显示上次成功查询的结果。</system:String>
<system:String x:Key="NewVersionFoundTitle">检测到新版本</system:String>
<system:String x:Key="NewVersionFoundDescDownloadingWithGlobalSource">正在使用 「{key=GlobalSource}」 下载……</system:String>
<system:String x:Key="NewVersionFoundDescDownloadingWithMirrorChyan">正在使用 「{key=MirrorChyan}」 下载……</system:String>

View File

@@ -320,6 +320,7 @@
<system:String x:Key="MirrorChyanCdkQuotaExhausted">CDK 今日下載次數已達上限,請明日再試。</system:String>
<system:String x:Key="MirrorChyanCdkMismatched">CDK 類型與待下載的資源不匹配,請檢查 CDK 適用範圍。</system:String>
<system:String x:Key="MirrorChyanCdkRemainingDays">CDK 還剩 {0} 天到期。</system:String>
<system:String x:Key="MirrorChyanCdkFetchFailed">獲取 CDK 資訊失敗,已顯示上次成功查詢的結果。</system:String>
<system:String x:Key="NewVersionFoundTitle">檢測到新版本</system:String>
<system:String x:Key="NewVersionFoundDescDownloadingWithGlobalSource">正在使用 「{key=GlobalSource}」 下載…</system:String>
<system:String x:Key="NewVersionFoundDescDownloadingWithMirrorChyan">正在使用 「{key=MirrorChyan}」 下載…</system:String>

View File

@@ -1019,8 +1019,17 @@ public class VersionUpdateViewModel : Screen
return CheckUpdateRetT.UnknownError;
}
var mirrorChyanCdkExpired = data["data"]?["cdk_expired_time"]?.ToObject<int?>() ?? null;
SettingsViewModel.VersionUpdateSettings.MirrorChyanCdkExpiredTime = mirrorChyanCdkExpired ?? 0;
var mirrorChyanCdkExpired = data["data"]?["cdk_expired_time"]?.ToObject<long?>();
if (mirrorChyanCdkExpired.HasValue)
{
SettingsViewModel.VersionUpdateSettings.MirrorChyanCdkExpiredTime = mirrorChyanCdkExpired.Value;
SettingsViewModel.VersionUpdateSettings.MirrorChyanCdkFetchFailed = false;
}
else
{
SettingsViewModel.VersionUpdateSettings.MirrorChyanCdkFetchFailed = true;
}
var errorCode = data["code"]?.ToObject<MirrorChyanErrorCode>() ?? MirrorChyanErrorCode.Undivided;
if (errorCode != MirrorChyanErrorCode.Success)

View File

@@ -340,6 +340,14 @@ public class VersionUpdateSettingsUserControlModel : PropertyChangedBase
}
}
private bool _mirrorChyanCdkFetchFailed = false;
public bool MirrorChyanCdkFetchFailed
{
get => _mirrorChyanCdkFetchFailed;
set => SetAndNotify(ref _mirrorChyanCdkFetchFailed, value);
}
public DateTime MirrorChyanCdkExpiredDateTime => DateTimeOffset.FromUnixTimeSeconds(MirrorChyanCdkExpiredTime).DateTime;
public DateTime MirrorChyanCdkExpiredLocalTime => MirrorChyanCdkExpiredDateTime.ToLocalTime();

View File

@@ -142,6 +142,15 @@
<controls:TextBlock
MaxWidth="150"
Margin="0,5,0,0"
Visibility="{c:Binding MirrorChyanCdkFetchFailed}"
Foreground="{DynamicResource ErrorLogBrush}"
Text="{DynamicResource MirrorChyanCdkFetchFailed}"
TextWrapping="Wrap" />
<controls:TextBlock
MaxWidth="150"
Margin="0,5,0,0"
d:Foreground="{DynamicResource SuccessLogBrush}"
d:Text="{DynamicResource MirrorChyanCdkRemainingDays}"
uiBehaviors:ResourceReferenceHelper.ForegroundResourceKey="{Binding MirrorChyanCdkRemainingBrush}"
Text="{Binding MirrorChyanCdkRemainingText}"
TextWrapping="Wrap"