🚸重构千星页面,高度动态计算&活动次数计算共享 (#186)

* Initial plan

* Fix event pool pity count sharing for male/female gacha pools

Co-authored-by: BTMuli <72692909+BTMuli@users.noreply.github.com>

* Use gachaType for pool filtering and simplify data passing

Co-authored-by: BTMuli <72692909+BTMuli@users.noreply.github.com>

* Add dynamic height calculation and window resize listener to GbrDataView

Co-authored-by: BTMuli <72692909+BTMuli@users.noreply.github.com>

* 🎨 Code style

* 🚸 没有数据更新时不刷新

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: BTMuli <72692909+BTMuli@users.noreply.github.com>
Co-authored-by: BTMuli <bt-muli@outlook.com>
This commit is contained in:
Copilot
2025-12-14 17:23:59 +08:00
committed by GitHub
parent 9a0fbe11e9
commit 6cca6e56be
4 changed files with 210 additions and 105 deletions

View File

@@ -425,9 +425,13 @@ async function checkData(): Promise<void> {
}
}
await showLoading.end();
showSnackbar.success(`成功补充遗漏数据${cnt}条,失败${fail}条,即将刷新`);
await new Promise<void>((resolve) => setTimeout(resolve, 1500));
window.location.reload();
if (cnt > 0 || fail > 0) {
showSnackbar.success(`成功补充遗漏数据${cnt}条,失败${fail}条,即将刷新`);
await new Promise<void>((resolve) => setTimeout(resolve, 1500));
window.location.reload();
} else {
showSnackbar.success(`成功检测${gachaListCur.value.length}条数据,无需更新`);
}
}
</script>
<style lang="css" scoped>

View File

@@ -1,30 +1,30 @@
<!-- 千星奇域祈愿记录页面 -->
<!-- 千星奇域祈愿记录页面 TODO处理活动卡池次数共享 -->
<template>
<v-app-bar>
<template #prepend>
<div class="gb-top-title">
<img class="gb-top-byd" src="/icon/nation/千星奇域.webp" alt="byd" />
<img alt="byd" class="gb-top-byd" src="/icon/nation/千星奇域.webp" />
<span>祈愿记录</span>
<v-select
:hide-details="true"
density="compact"
v-model="uidCur"
:hide-details="true"
:items="selectItem"
variant="outlined"
density="compact"
label="游戏UID"
variant="outlined"
/>
<img src="/source/UI/userGacha.webp" alt="gacha" @click="toGacha()" title="祈愿" />
<img alt="gacha" src="/source/UI/userGacha.webp" title="祈愿" @click="toGacha()" />
</div>
</template>
<template #extension>
<div class="gb-top-btns">
<v-btn prepend-icon="mdi-refresh" class="gb-top-btn" @click="confirmRefresh(false)">
<v-btn class="gb-top-btn" prepend-icon="mdi-refresh" @click="confirmRefresh(false)">
增量刷新
</v-btn>
<v-btn prepend-icon="mdi-refresh" class="gb-top-btn" @click="confirmRefresh(true)">
<v-btn class="gb-top-btn" prepend-icon="mdi-refresh" @click="confirmRefresh(true)">
全量刷新
</v-btn>
<v-btn prepend-icon="mdi-delete" class="gb-top-btn" @click="deleteGacha()">删除</v-btn>
<v-btn class="gb-top-btn" prepend-icon="mdi-delete" @click="deleteGacha()">删除</v-btn>
</div>
</template>
</v-app-bar>
@@ -33,16 +33,16 @@
<v-tab value="overview">数据概览</v-tab>
<v-tab value="table">数据表格</v-tab>
<!-- TODO: 暂时隐藏内置祈愿链接 -->
<v-tab value="iframe" v-if="false">祈愿详情</v-tab>
<v-tab v-if="false" value="iframe">祈愿详情</v-tab>
</v-tabs>
<v-window v-model="tab" class="gb-window">
<v-window-item value="overview" class="gb-window-item">
<v-window-item class="gb-window-item" value="overview">
<gbr-overview v-model="gachaListCur" />
</v-window-item>
<v-window-item value="table" class="gb-window-item">
<v-window-item class="gb-window-item" value="table">
<gbr-table v-model="gachaListCur" />
</v-window-item>
<v-window-item value="iframe" class="gb-window-item">
<v-window-item class="gb-window-item" value="iframe">
<gro-iframe mode="beyond" />
</v-window-item>
</v-window>