<!--
  启动页 / 路由分发页

  功能：
  - 判断用户登录状态（检查本地 Token）
  - 已登录 → 跳转消息列表页（TabBar 首页）
  - 未登录 → 跳转登录页

  此页面不展示 UI，仅作为路由分发入口
-->
<template>
  <view class="launch-page">
    <text class="loading-text">加载中…</text>
  </view>
</template>

<script>
/**
 * 启动页逻辑
 *
 * 在 onLoad 生命周期中检查登录状态并重定向
 * 使用 reLaunch 确保清除导航栈
 */
import { useUserStore } from '@/store/user'

function readSsoQueryFromLocation() {
  try {
    if (typeof window === 'undefined') return ''
    const hash = String(window.location.hash || '')
    if (hash.indexOf('/pages/auth/sso') >= 0 && hash.indexOf('?') >= 0) {
      return hash.slice(hash.indexOf('?') + 1)
    }
    const search = String(window.location.search || '').replace(/^\?/, '')
    if (search.indexOf('payload=') >= 0 || search.indexOf('token=') >= 0 || search.indexOf('cloudLawSso=') >= 0) {
      return search
    }
  } catch (e) {}
  return ''
}

export default {
  name: 'LaunchPage',
  onLoad() {
    const ssoQuery = readSsoQueryFromLocation()
    if (ssoQuery) {
      console.warn('[Index] detected SSO params on launch page, redirect to SSO')
      uni.redirectTo({ url: `/pages/auth/sso?${ssoQuery}` })
      return
    }
    const store = useUserStore()
    if (store.isLoggedIn) {
      uni.switchTab({ url: '/pages/chat/index' })
    } else {
      uni.reLaunch({ url: '/pages/auth/login' })
    }
  }
}
</script>

<style scoped>
.launch-page {
  min-height: 100vh;
  background-color: #F8FAFC;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loading-text {
  font-size: 28rpx;
  color: #94A3B8;
}
</style>

