diff --git a/src/components/t-calendar.vue b/src/components/t-calendar.vue index cbe557bf..ea5966b5 100644 --- a/src/components/t-calendar.vue +++ b/src/components/t-calendar.vue @@ -21,107 +21,61 @@ {{ text.text }} -
+
-
+
天赋培养
-
+
-
- {{ character.title }} +
+ bg
-
- +
+ icon
-
-
- -
- bg -
- -
- icon -
- -
-
- element -
-
- weapon - {{ item.name }} -
-
+
+
+ element +
+
+ weapon +
+
+ {{ item.name }}
-
-
-
- 武器突破 -
-
-
-
- {{ weapon.title }} -
-
- -
-
-
- -
- bg +
+
+ 武器突破 +
+
+
+
+ bg +
+
+ icon +
+
+
+ element
- -
- icon -
- -
-
- type -
-
- {{ item.name }} -
+
+ {{ item.name }}
@@ -147,13 +101,13 @@ import { createTGWindow } from "../utils/TGWindow"; const loading = ref(true as boolean); // data -const calendarData = ref(TGAppData.calendar as Record); +const calendarData = ref(TGAppData.calendar); const weekNow = ref(0 as number); const btnNow = ref(0 as number); const dateNow = ref(new Date().toLocaleDateString()); -const calendarNow = ref({} as BTMuli.Genshin.Calendar.Data); -const characterCards = ref({} as Record); -const weaponCards = ref({} as Record); +const calendarNow = ref([] as BTMuli.Genshin.Calendar.Data[]); +const characterCards = ref({} as Record); +const weaponCards = ref({} as Record); // snackbar const snackbar = ref(false as boolean); @@ -162,7 +116,7 @@ const snackbarColor = ref("success" as string); const btnText = [ { - week: 0, + week: 7, text: "周日", }, { @@ -197,43 +151,36 @@ defineExpose({ }); onMounted(() => { - const dayNow = new Date().getDay(); + const dayNow = (new Date().getDay()) === 0 ? 7 : (new Date().getDay()); weekNow.value = dayNow; btnNow.value = dayNow; calendarNow.value = getCalendar(dayNow); - characterCards.value = calendarNow.value.characters; - weaponCards.value = calendarNow.value.weapons; + characterCards.value = calendarNow.value.filter((item) => item.item_type === "character"); + weaponCards.value = calendarNow.value.filter((item) => item.item_type === "weapon"); loading.value = false; }); // 获取当前日历 function getCalendar (day: number) { - let week; - if (day < 4) week = day; - else week = day - 3; - return calendarData.value[week]; + return calendarData.value.filter((item) => item.drop_day.includes(day)); } -function showContent (material: BTMuli.Genshin.Calendar.Material | BTMuli.Genshin.Wiki.Character.BriefInfo | BTMuli.Genshin.Wiki.Weapon.BriefInfo) { - if (material.content_id === null || material.content_id === undefined) { +function showContent (item: BTMuli.Genshin.Calendar.Data) { + if (item.content_id === null) { snackbarText.value = "暂无详情"; snackbarColor.value = "error"; snackbar.value = true; return; } - const url = OBC_CONTENT_API.replace("{content_id}", material.content_id.toString()); - createTGWindow(url, "素材详情", material.name, 1200, 800, true); + const url = OBC_CONTENT_API.replace("{content_id}", item.content_id.toString()); + createTGWindow(url, "素材详情", item.name, 1200, 800, true); } function getContents (day: number) { - const oldValue = btnNow.value; btnNow.value = day; - if (oldValue % 3 === day % 3 && oldValue !== 0 && day !== 0) { - return; - } calendarNow.value = getCalendar(day); - characterCards.value = calendarNow.value.characters; - weaponCards.value = calendarNow.value.weapons; + characterCards.value = calendarNow.value.filter((item) => item.item_type === "character"); + weaponCards.value = calendarNow.value.filter((item) => item.item_type === "weapon"); }