From d138d856e44d669526453132fc4db2d3b846f67a Mon Sep 17 00:00:00 2001
From: DismissedLight <1686188646@qq.com>
Date: Tue, 26 Dec 2023 22:46:50 +0800
Subject: [PATCH] prepare 1203 types
---
.../Snap.Hutao/Resource/Localization/SH.resx | 9 +++
.../GameRecord/DailyNote/ArchonQuest.cs | 22 ++++++
.../DailyNote/ArchonQuestProgress.cs | 22 ++++++
.../GameRecord/DailyNote/ArchonQuestStatus.cs | 17 +++++
.../Takumi/GameRecord/DailyNote/DailyNote.cs | 67 +++++++------------
5 files changed, 95 insertions(+), 42 deletions(-)
create mode 100644 src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuest.cs
create mode 100644 src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuestProgress.cs
create mode 100644 src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuestStatus.cs
diff --git a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
index 2564a4b8..1212a27d 100644
--- a/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
+++ b/src/Snap.Hutao/Snap.Hutao/Resource/Localization/SH.resx
@@ -2732,6 +2732,15 @@
已复制到剪贴板
+
+ 全部完成
+
+
+ 尚未开启
+
+
+ 进行中
+
已完成
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuest.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuest.cs
new file mode 100644
index 00000000..76ba2a2b
--- /dev/null
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuest.cs
@@ -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; }
+
+ ///
+ /// 第X章 第Y幕
+ ///
+ [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; }
+}
\ No newline at end of file
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuestProgress.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuestProgress.cs
new file mode 100644
index 00000000..fd16627b
--- /dev/null
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuestProgress.cs
@@ -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 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!;
+}
\ No newline at end of file
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuestStatus.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuestStatus.cs
new file mode 100644
index 00000000..7a07e077
--- /dev/null
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/ArchonQuestStatus.cs
@@ -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,
+}
\ No newline at end of file
diff --git a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/DailyNote.cs b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/DailyNote.cs
index f2038ee6..a88b0459 100644
--- a/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/DailyNote.cs
+++ b/src/Snap.Hutao/Snap.Hutao/Web/Hoyolab/Takumi/GameRecord/DailyNote/DailyNote.cs
@@ -7,20 +7,16 @@ namespace Snap.Hutao.Web.Hoyolab.Takumi.GameRecord.DailyNote;
/// 实时便笺
///
[HighQuality]
+[SuppressMessage("", "SA1124")]
internal sealed class DailyNote : DailyNoteCommon
{
- ///
- /// 格式化的树脂显示
- ///
+ #region Binding
[JsonIgnore]
public string ResinFormatted
{
get => $"{CurrentResin}/{MaxResin}";
}
- ///
- /// 格式化的树脂恢复时间
- ///
[JsonIgnore]
public string ResinRecoveryTargetTime
{
@@ -45,18 +41,12 @@ internal sealed class DailyNote : DailyNoteCommon
}
}
- ///
- /// 格式化任务
- ///
[JsonIgnore]
public string TaskFormatted
{
get => $"{FinishedTaskNum}/{TotalTaskNum}";
}
- ///
- /// 每日委托奖励字符串
- ///
[JsonIgnore]
public string ExtraTaskRewardDescription
{
@@ -70,53 +60,24 @@ internal sealed class DailyNote : DailyNoteCommon
}
}
- ///
- /// 剩余周本折扣次数
- ///
- [JsonPropertyName("remain_resin_discount_num")]
- public int RemainResinDiscountNum { get; set; }
-
- ///
- /// 周本树脂减免使用次数
- ///
[JsonIgnore]
public int ResinDiscountUsedNum
{
get => ResinDiscountNumLimit - RemainResinDiscountNum;
}
- ///
- /// 周本折扣总次数
- ///
- [JsonPropertyName("resin_discount_num_limit")]
- public int ResinDiscountNumLimit { get; set; }
-
- ///
- /// 格式化周本
- ///
+ [JsonIgnore]
public string ResinDiscountFormatted
{
get => $"{ResinDiscountUsedNum}/{ResinDiscountNumLimit}";
}
- ///
- /// 洞天宝钱恢复时间 类型的秒数
- ///
- [JsonPropertyName("home_coin_recovery_time")]
- public int HomeCoinRecoveryTime { get; set; }
-
- ///
- /// 格式化洞天宝钱
- ///
[JsonIgnore]
public string HomeCoinFormatted
{
get => MaxHomeCoin == 0 ? SH.WebDailyNoteHomeLocked : $"{CurrentHomeCoin}/{MaxHomeCoin}";
}
- ///
- /// 格式化的洞天宝钱恢复时间
- ///
[JsonIgnore]
public string HomeCoinRecoveryTargetTimeFormatted
{
@@ -134,6 +95,25 @@ internal sealed class DailyNote : DailyNoteCommon
return SH.FormatWebDailyNoteHomeCoinRecoveryFormat(day, reach);
}
}
+ #endregion
+
+ ///
+ /// 剩余周本折扣次数
+ ///
+ [JsonPropertyName("remain_resin_discount_num")]
+ public int RemainResinDiscountNum { get; set; }
+
+ ///
+ /// 周本折扣总次数
+ ///
+ [JsonPropertyName("resin_discount_num_limit")]
+ public int ResinDiscountNumLimit { get; set; }
+
+ ///
+ /// 洞天宝钱恢复时间 类型的秒数
+ ///
+ [JsonPropertyName("home_coin_recovery_time")]
+ public int HomeCoinRecoveryTime { get; set; }
///
/// 日历链接
@@ -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!;
}
\ No newline at end of file