import {useEffect, useState} from 'react' import {TradePlatform} from '@/lib/models/trade' // 设备检测Hook export const usePlatformType = (): TradePlatform => { // 在SSR环境下返回默认值 const [platform, setPlatform] = useState(() => { if (typeof window === 'undefined') return TradePlatform.Desktop return window.matchMedia('(max-width: 768px)').matches ? TradePlatform.Mobile : TradePlatform.Desktop }) useEffect(() => { // 确保在客户端执行 if (typeof window === 'undefined') return const checkPlatform = () => { const isMobile = window.matchMedia('(max-width: 768px)').matches setPlatform(isMobile ? TradePlatform.Mobile : TradePlatform.Desktop) } const mediaQuery = window.matchMedia('(max-width: 768px)') mediaQuery.addEventListener('change', checkPlatform) return () => { mediaQuery.removeEventListener('change', checkPlatform) } }, []) return platform }