export default defineNuxtRouteMiddleware((to, from) => {
  // 仅在根路径 '/' 进行判断，避免循环重定向或其他页面被误伤
  if (to.path === '/' || to.path === '/web' || to.path === '/mobile') {
    // 获取 User-Agent
    // 注意：在 SSR 环境下，我们需要从请求头获取；在客户端导航时，使用 navigator
    let userAgent = ''

    if (import.meta.server) {
      const headers = useRequestHeaders(['user-agent'])
      userAgent = headers['user-agent'] || ''
    } else {
      userAgent = navigator.userAgent
    }

    // 定义移动端正则匹配
    let isMobile = /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|tablet)/i.test(userAgent)
    // if (!isMobile && !process.server && userAgent.includes('Macintosh') && navigator.maxTouchPoints > 1) {
    //   isMobile = true
    // }
    // 执行重定向
    // 302: 临时重定向 (建议先用 302 测试，稳定后可改为 301)
    const target = isMobile ? '/mobile' : '/web'
    if (to.path !== target) {
      return navigateTo(target, { redirectCode: 302 })
    }
  }
})
