prepare 1203 types

This commit is contained in:
DismissedLight
2023-12-26 22:46:50 +08:00
parent 91f16c1701
commit d138d856e4
5 changed files with 95 additions and 42 deletions

View File

@@ -2732,6 +2732,15 @@
<data name="WebBridgeShareCopyToClipboardSuccess" xml:space="preserve">
<value>已复制到剪贴板</value>
</data>
<data name="WebDailyNoteArchonQuestStatusFinished" xml:space="preserve">
<value>全部完成</value>
</data>
<data name="WebDailyNoteArchonQuestStatusNotOpen" xml:space="preserve">
<value>尚未开启</value>
</data>
<data name="WebDailyNoteArchonQuestStatusOngoing" xml:space="preserve">
<value>进行中</value>
</data>
<data name="WebDailyNoteAttendanceRewardStatusFinishedNonReward" xml:space="preserve">
<value>已完成</value>
</data>

View File

@@ -0,0 +1,22 @@
// Copyright (c) DGP Studio. All rights reserved.
// Licensed under the MIT license.
namespace Snap.Hutao.Web.Hoyolab.Takumi.GameRecord.DailyNote;
internal sealed class ArchonQuest
{
[JsonPropertyName("status")]
public ArchonQuestStatus Status { get; set; }
/// <summary>
/// 第X章 第Y幕
/// </summary>
[JsonPropertyName("chapter_num")]
public string ChapterNum { get; set; } = default!;
[JsonPropertyName("chapter_title")]
public string ChapterTitle { get; set; } = default!;
[JsonPropertyName("id")]
public uint Id { get; set; }
}

View File

@@ -0,0 +1,22 @@
// Copyright (c) DGP Studio. All rights reserved.
// Licensed under the MIT license.
namespace Snap.Hutao.Web.Hoyolab.Takumi.GameRecord.DailyNote;
internal sealed class ArchonQuestProgress
{
[JsonPropertyName("list")]
public List<ArchonQuest> List { get; set; } = default!;
[JsonPropertyName("is_open_archon_quest")]
public bool IsOpenArchonQuest { get; set; }
[JsonPropertyName("is_finish_all_mainline")]
public bool IsFinishAllMainline { get; set; }
[JsonPropertyName("is_finish_all_interchapter")]
public bool IsFinishAllInterchapter { get; set; }
[JsonPropertyName("wiki_url")]
public string WikiUrl { get; set; } = default!;
}

View File

@@ -0,0 +1,17 @@
// Copyright (c) DGP Studio. All rights reserved.
// Licensed under the MIT license.
namespace Snap.Hutao.Web.Hoyolab.Takumi.GameRecord.DailyNote;
[Localization]
internal enum ArchonQuestStatus
{
[LocalizationKey("WebDailyNoteArchonQuestStatusFinished")]
StatusFinished,
[LocalizationKey("WebDailyNoteArchonQuestStatusOngoing")]
StatusOngoing,
[LocalizationKey("WebDailyNoteArchonQuestStatusNotOpen")]
StatusNotOpen,
}

View File

@@ -7,20 +7,16 @@ namespace Snap.Hutao.Web.Hoyolab.Takumi.GameRecord.DailyNote;
/// 实时便笺
/// </summary>
[HighQuality]
[SuppressMessage("", "SA1124")]
internal sealed class DailyNote : DailyNoteCommon
{
/// <summary>
/// 格式化的树脂显示
/// </summary>
#region Binding
[JsonIgnore]
public string ResinFormatted
{
get => $"{CurrentResin}/{MaxResin}";
}
/// <summary>
/// 格式化的树脂恢复时间
/// </summary>
[JsonIgnore]
public string ResinRecoveryTargetTime
{
@@ -45,18 +41,12 @@ internal sealed class DailyNote : DailyNoteCommon
}
}
/// <summary>
/// 格式化任务
/// </summary>
[JsonIgnore]
public string TaskFormatted
{
get => $"{FinishedTaskNum}/{TotalTaskNum}";
}
/// <summary>
/// 每日委托奖励字符串
/// </summary>
[JsonIgnore]
public string ExtraTaskRewardDescription
{
@@ -70,53 +60,24 @@ internal sealed class DailyNote : DailyNoteCommon
}
}
/// <summary>
/// 剩余周本折扣次数
/// </summary>
[JsonPropertyName("remain_resin_discount_num")]
public int RemainResinDiscountNum { get; set; }
/// <summary>
/// 周本树脂减免使用次数
/// </summary>
[JsonIgnore]
public int ResinDiscountUsedNum
{
get => ResinDiscountNumLimit - RemainResinDiscountNum;
}
/// <summary>
/// 周本折扣总次数
/// </summary>
[JsonPropertyName("resin_discount_num_limit")]
public int ResinDiscountNumLimit { get; set; }
/// <summary>
/// 格式化周本
/// </summary>
[JsonIgnore]
public string ResinDiscountFormatted
{
get => $"{ResinDiscountUsedNum}/{ResinDiscountNumLimit}";
}
/// <summary>
/// 洞天宝钱恢复时间 <see cref="string"/>类型的秒数
/// </summary>
[JsonPropertyName("home_coin_recovery_time")]
public int HomeCoinRecoveryTime { get; set; }
/// <summary>
/// 格式化洞天宝钱
/// </summary>
[JsonIgnore]
public string HomeCoinFormatted
{
get => MaxHomeCoin == 0 ? SH.WebDailyNoteHomeLocked : $"{CurrentHomeCoin}/{MaxHomeCoin}";
}
/// <summary>
/// 格式化的洞天宝钱恢复时间
/// </summary>
[JsonIgnore]
public string HomeCoinRecoveryTargetTimeFormatted
{
@@ -134,6 +95,25 @@ internal sealed class DailyNote : DailyNoteCommon
return SH.FormatWebDailyNoteHomeCoinRecoveryFormat(day, reach);
}
}
#endregion
/// <summary>
/// 剩余周本折扣次数
/// </summary>
[JsonPropertyName("remain_resin_discount_num")]
public int RemainResinDiscountNum { get; set; }
/// <summary>
/// 周本折扣总次数
/// </summary>
[JsonPropertyName("resin_discount_num_limit")]
public int ResinDiscountNumLimit { get; set; }
/// <summary>
/// 洞天宝钱恢复时间 <see cref="string"/>类型的秒数
/// </summary>
[JsonPropertyName("home_coin_recovery_time")]
public int HomeCoinRecoveryTime { get; set; }
/// <summary>
/// 日历链接
@@ -149,4 +129,7 @@ internal sealed class DailyNote : DailyNoteCommon
[JsonPropertyName("daily_task")]
public DailyTask DailyTask { get; set; } = default!;
[JsonPropertyName("archon_quest_progress")]
public ArchonQuestProgress ArchonQuestProgress { get; set; } = default!;
}