import { useEffect } from 'react'
import Taro from '@tarojs/taro'
import { useAuth } from './useAuth'

/**
 * 要求认证的hook
 * 如果用户未登录，则重定向到登录页
 */
export const useRequireAuth = () => {
  const { isLoggedIn, isLoading } = useAuth()

  useEffect(() => {
    // 只有在非loading状态且未登录时才跳转
    if (!isLoading && !isLoggedIn) {
      // 使用 reLaunch 而不是 redirectTo，确保在 TabBar 页面也能正常跳转
      Taro.reLaunch({
        url: '/pages/login/index'
      })
    }
  }, [isLoggedIn, isLoading])

  return { isLoggedIn, isLoading }
}