import { PAGE_MINE } from '@/utils/pageRoute'

/**
 * 智能返回：有上一页则 navigateBack，否则回到「我的」Tab。
 * 从 Tab 页 navigateTo 分包时，栈里常只有当前页，系统导航栏不会出现返回箭头。
 */
export function smartNavigateBack(fallbackTab = PAGE_MINE) {
  const pages = getCurrentPages()
  if (pages.length > 1) {
    uni.navigateBack({
      fail: () => goMineTab(fallbackTab)
    })
    return
  }
  goMineTab(fallbackTab)
}

function goMineTab(url) {
  uni.switchTab({
    url,
    fail: () => {
      uni.reLaunch({ url })
    }
  })
}
