新增订阅分享统计功能

This commit is contained in:
jxxghp
2025-07-16 09:37:34 +08:00
parent 6ddc3ea996
commit caa67a0f49
6 changed files with 356 additions and 1 deletions

View File

@@ -3,6 +3,7 @@ import SubscribeListView from '@/views/subscribe/SubscribeListView.vue'
import SubscribePopularView from '@/views/subscribe/SubscribePopularView.vue'
import SubscribeShareView from '@/views/subscribe/SubscribeShareView.vue'
import SubscribeEditDialog from '@/components/dialog/SubscribeEditDialog.vue'
import SubscribeShareStatisticsDialog from '@/components/dialog/SubscribeShareStatisticsDialog.vue'
import { useI18n } from 'vue-i18n'
import { useDynamicHeaderTab } from '@/composables/useDynamicHeaderTab'
@@ -36,6 +37,9 @@ const filterSubscribeDialog = ref(false)
// 搜索订阅分享弹窗
const searchShareDialog = ref(false)
// 订阅分享统计弹窗
const shareStatisticsDialog = ref(false)
// 订阅过滤词
const subscribeFilter = ref('')
@@ -51,6 +55,7 @@ const searchShares = () => {
// VMenu activator选择器
const filterActivator = computed(() => '[data-menu-activator="filter-btn"]')
const searchActivator = computed(() => '[data-menu-activator="search-btn"]')
const statisticsActivator = computed(() => '[data-menu-activator="statistics-btn"]')
// 使用动态标签页
const { registerHeaderTab } = useDynamicHeaderTab()
@@ -71,6 +76,17 @@ registerHeaderTab({
},
show: computed(() => activeTab.value === 'mysub'),
},
{
icon: 'mdi-chart-line',
variant: 'text',
color: 'gray',
class: 'settings-icon-button',
dataAttr: 'statistics-btn',
action: () => {
shareStatisticsDialog.value = true
},
show: computed(() => activeTab.value === 'share'),
},
{
icon: 'mdi-movie-search-outline',
variant: 'text',
@@ -191,6 +207,13 @@ onMounted(() => {
@save="subscribeEditDialog = false"
@close="subscribeEditDialog = false"
/>
<!-- 订阅分享统计弹窗 -->
<SubscribeShareStatisticsDialog
v-if="shareStatisticsDialog"
v-model="shareStatisticsDialog"
@close="shareStatisticsDialog = false"
/>
</div>
</template>