diff --git a/layers/components/widgets/ButtonList.vue b/layers/components/widgets/ButtonList.vue index db3fa76..19412e6 100644 --- a/layers/components/widgets/ButtonList.vue +++ b/layers/components/widgets/ButtonList.vue @@ -18,6 +18,7 @@ const scrollStore = useScrollStore() const breakpoints = useResponsiveBreakpoints() const { sendLog, useAnalyticsLogDataDirect } = useAnalytics() const { tm } = useI18n() +const device = useDevice() const buttonList = computed( () => props.resourcesData ?? [] @@ -36,6 +37,23 @@ const getButtonType = (btnInfo?: PageDataResourceGroupBtnInfo): ButtonType => { return 'action' } +const isRunButtonVisible = (btnInfo: PageDataResourceGroupBtnInfo): boolean => { + if (breakpoints.value?.isDesktop) return true + + const marketType = btnInfo?.detail?.market_type + + switch (marketType) { + case 'pc': + return false + case 'google_play': + return device.isAndroid + case 'app_store': + return device.isApple + default: + return true + } +} + const downloadZip = async (url: string, osType: number) => { if (osType === 1 && breakpoints.value?.isMobile) { modalStore.handleOpenAlert({ contentText: tm('Alert_Download_PC') }) @@ -104,16 +122,18 @@ const handleButtonClick = (button: PageDataResourceGroup) => { class="flex flex-wrap justify-center gap-3 md:gap-4" >